"use strict";
Object.defineProperty(exports, "__esModule", {
	value: !0
});
var e = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" !=
	typeof global ? global : "undefined" != typeof self ? self : {};

function t() {
	throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")
}

function n(e, t) {
	return e(t = {
		exports: {}
	}, t.exports), t.exports
}
var r = n((function(t, n) {
	var r;
	r = {}, ("object" == typeof window && window || e).PubSub = r,
		function(e) {
			var t = {},
				n = -1,
				r = "*";

			function o(e) {
				var t;
				for (t in e)
					if (e.hasOwnProperty(t)) return !0;
				return !1
			}

			function i(e) {
				return function() {
					throw e
				}
			}

			function a(e, t, n) {
				try {
					e(t, n)
				} catch (e) {
					setTimeout(i(e), 0)
				}
			}

			function s(e, t, n) {
				e(t, n)
			}

			function u(e, n, r, o) {
				var i, u = t[n],
					c = o ? s : a;
				if (t.hasOwnProperty(n))
					for (i in u) u.hasOwnProperty(i) && c(u[i], e, r)
			}

			function c(e, t, n) {
				return function() {
					var o = String(e),
						i = o.lastIndexOf(".");
					for (u(e, e, t, n); - 1 !== i;) i = (o = o.substr(0, i)).lastIndexOf("."), u(e, o,
						t, n);
					u(e, r, t, n)
				}
			}

			function f(e) {
				var n = String(e);
				return Boolean(t.hasOwnProperty(n) && o(t[n]))
			}

			function l(e) {
				for (var t = String(e), n = f(t) || f(r), o = t.lastIndexOf("."); !n && -1 !== o;) o = (t =
					t.substr(0, o)).lastIndexOf("."), n = f(t);
				return n
			}

			function d(e, t, n, r) {
				var o = c(e = "symbol" == typeof e ? e.toString() : e, t, r);
				return !!l(e) && (!0 === n ? o() : setTimeout(o, 0), !0)
			}
			e.publish = function(t, n) {
				return d(t, n, !1, e.immediateExceptions)
			}, e.publishSync = function(t, n) {
				return d(t, n, !0, e.immediateExceptions)
			}, e.subscribe = function(e, r) {
				if ("function" != typeof r) return !1;
				e = "symbol" == typeof e ? e.toString() : e, t.hasOwnProperty(e) || (t[e] = {});
				var o = "uid_" + String(++n);
				return t[e][o] = r, o
			}, e.subscribeAll = function(t) {
				return e.subscribe(r, t)
			}, e.subscribeOnce = function(t, n) {
				var r = e.subscribe(t, (function() {
					e.unsubscribe(r), n.apply(this, arguments)
				}));
				return e
			}, e.clearAllSubscriptions = function() {
				t = {}
			}, e.clearSubscriptions = function(e) {
				var n;
				for (n in t) t.hasOwnProperty(n) && 0 === n.indexOf(e) && delete t[n]
			}, e.countSubscriptions = function(e) {
				var n, r = 0;
				for (n in t) t.hasOwnProperty(n) && 0 === n.indexOf(e) && r++;
				return r
			}, e.getSubscriptions = function(e) {
				var n, r = [];
				for (n in t) t.hasOwnProperty(n) && 0 === n.indexOf(e) && r.push(n);
				return r
			}, e.unsubscribe = function(n) {
				var r, o, i, a = function(e) {
						var n;
						for (n in t)
							if (t.hasOwnProperty(n) && 0 === n.indexOf(e)) return !0;
						return !1
					},
					s = "string" == typeof n && (t.hasOwnProperty(n) || a(n)),
					u = !s && "string" == typeof n,
					c = "function" == typeof n,
					f = !1;
				if (!s) {
					for (r in t)
						if (t.hasOwnProperty(r)) {
							if (o = t[r], u && o[n]) {
								delete o[n], f = n;
								break
							}
							if (c)
								for (i in o) o.hasOwnProperty(i) && o[i] === n && (delete o[i], f = !0)
						} return f
				}
				e.clearSubscriptions(n)
			}
		}(r), void 0 !== t && t.exports && (n = t.exports = r), n.PubSub = r, t.exports = n = r
}));
r.PubSub;
var o, i, a, s, u, c, f, l, d, p = function(e) {
		var t, n = e.Symbol;
		return "function" == typeof n ? n.observable ? t = n.observable : (t = n("observable"), n.observable = t) : t =
			"@@observable", t
	}("undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ?
		global : "undefined" != typeof module ? module : Function("return this")()),
	h = function() {
		return Math.random().toString(36).substring(7).split("").join(".")
	},
	g = {
		INIT: "@@redux/INIT" + h(),
		REPLACE: "@@redux/REPLACE" + h(),
		PROBE_UNKNOWN_ACTION: function() {
			return "@@redux/PROBE_UNKNOWN_ACTION" + h()
		}
	};

function m(e) {
	if ("object" != typeof e || null === e) return !1;
	for (var t = e; null !== Object.getPrototypeOf(t);) t = Object.getPrototypeOf(t);
	return Object.getPrototypeOf(e) === t
}

function v(e) {
	"undefined" != typeof console && "function" == typeof console.error && console.error(e);
	try {
		throw new Error(e)
	} catch (e) {}
}

function y(e, t) {
	var n = t && t.type;
	return "Given " + (n && 'action "' + String(n) + '"' || "an action") + ', reducer "' + e +
		'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'
}

function b(e, t, n) {
	return t in e ? Object.defineProperty(e, t, {
		value: n,
		enumerable: !0,
		configurable: !0,
		writable: !0
	}) : e[t] = n, e
}

function _(e, t) {
	var n = Object.keys(e);
	return Object.getOwnPropertySymbols && n.push.apply(n, Object.getOwnPropertySymbols(e)), t && (n = n.filter((
		function(t) {
			return Object.getOwnPropertyDescriptor(e, t).enumerable
		}))), n
}

function w() {
	for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
	return 0 === t.length ? function(e) {
		return e
	} : 1 === t.length ? t[0] : t.reduce((function(e, t) {
		return function() {
			return e(t.apply(void 0, arguments))
		}
	}))
}

function S() {}
"production" !== process.env.NODE_ENV && "string" == typeof S.name && "isCrushed" !== S.name && v(
		'You are currently using minified code outside of NODE_ENV === "production". This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) to ensure you have the correct code for your production build.'
		),
	function(e) {
		e.SendMsg = "SendMsg", e.REV = "REV", e.ReceiveMsg = "ReceiveMsg", e.ACK = "ACK", e.ReadStatus = "ReadStatus", e
			.LOGIN = "LOGIN", e.LoginKeep = "LoginKeep", e.Compensate = "Compensate", e.LoginOut = "LoginOut", e
			.Withdraw = "Withdraw", e.TransferTreatment = "TransferTreatment", e.CustomEvent = "CustomEvent", e
			.ReadCompensate = "ReadCompensate"
	}(o || (o = {})),
	function(e) {
		e.Text = "Text", e.Image = "Image", e.Audio = "Audio", e.Video = "Video", e.Template = "Template", e.RichLink =
			"RichLink", e.RichText = "RichText", e.SysText = "SysText", e.FinishNoReply = "FinishNoReply", e.Finish =
			"Finish", e.USER_SPEAK_STATUS = "USER_SPEAK_STATUS", e.Withdraw = "Withdraw", e.CommodityCard =
			"CommodityCard", e.NotifyOtherClient = "NotifyOtherClient"
	}(i || (i = {})),
	function(e) {
		e.QA = "QA", e.PRE = "PRE", e.ONLINE = "ONLINE", e.TR = "TR"
	}(a || (a = {})),
	function(e) {
		e.HTTP = "http://", e.HTTPS = "https://", e.WSS = "wss://", e.WS = "ws://"
	}(s || (s = {})),
	function(e) {
		e.H5 = "H5", e.MINIAPP = "MINIAPP"
	}(u || (u = {})),
	function(e) {
		e[e.Sending = 1] = "Sending", e[e.SendSuccess = 2] = "SendSuccess", e[e.SendFail = 3] = "SendFail"
	}(c || (c = {})),
	function(e) {
		e.operate = "operate", e.drugDoctor = "drugDoctor", e.drugPlatform = "drugPlatform", e.drugSaas = "drugSaas", e
			.drugSaasTr = "drugSaasTr", e.openPlatform = "openPlatform", e.b2b = "b2b", e.operate_phm = "operate_phm"
	}(f || (f = {})),
	function(e) {
		e.withdrawMessage = "withdrawMessage", e.insertMessage = "insertMessage", e.apiMessage = "apiMessage", e
			.apiMessageTop = "apiMessageTop", e.sendMessageSuccess = "sendMessageSuccess", e.sendMessageFail =
			"sendMessageFail", e.onMessage = "onMessage"
	}(l || (l = {})),
	function(e) {
		e.apiMoreList = "apiMoreList", e.apiTopList = "apiTopList", e.onGetGroupList = "onGetGroupList"
	}(d || (d = {}));
var I = function(e, t) {
		return function() {
			for (var n = new Array(arguments.length), r = 0; r < n.length; r++) n[r] = arguments[r];
			return e.apply(t, n)
		}
	},
	T = Object.prototype.toString;

function E(e) {
	return "[object Array]" === T.call(e)
}

function k(e) {
	return void 0 === e
}

function M(e) {
	return null !== e && "object" == typeof e
}

function x(e) {
	return "[object Function]" === T.call(e)
}

function O(e, t) {
	if (null != e)
		if ("object" != typeof e && (e = [e]), E(e))
			for (var n = 0, r = e.length; n < r; n++) t.call(null, e[n], n, e);
		else
			for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.call(null, e[o], o, e)
}
var j = {
		isArray: E,
		isArrayBuffer: function(e) {
			return "[object ArrayBuffer]" === T.call(e)
		},
		isBuffer: function(e) {
			return null !== e && !k(e) && null !== e.constructor && !k(e.constructor) && "function" == typeof e
				.constructor.isBuffer && e.constructor.isBuffer(e)
		},
		isFormData: function(e) {
			return "undefined" != typeof FormData && e instanceof FormData
		},
		isArrayBufferView: function(e) {
			return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e
				.buffer && e.buffer instanceof ArrayBuffer
		},
		isString: function(e) {
			return "string" == typeof e
		},
		isNumber: function(e) {
			return "number" == typeof e
		},
		isObject: M,
		isUndefined: k,
		isDate: function(e) {
			return "[object Date]" === T.call(e)
		},
		isFile: function(e) {
			return "[object File]" === T.call(e)
		},
		isBlob: function(e) {
			return "[object Blob]" === T.call(e)
		},
		isFunction: x,
		isStream: function(e) {
			return M(e) && x(e.pipe)
		},
		isURLSearchParams: function(e) {
			return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams
		},
		isStandardBrowserEnv: function() {
			return ("undefined" == typeof navigator || "ReactNative" !== navigator.product && "NativeScript" !==
				navigator.product && "NS" !== navigator.product) && ("undefined" != typeof window &&
				"undefined" != typeof document)
		},
		forEach: O,
		merge: function e() {
			var t = {};

			function n(n, r) {
				"object" == typeof t[r] && "object" == typeof n ? t[r] = e(t[r], n) : t[r] = n
			}
			for (var r = 0, o = arguments.length; r < o; r++) O(arguments[r], n);
			return t
		},
		deepMerge: function e() {
			var t = {};

			function n(n, r) {
				"object" == typeof t[r] && "object" == typeof n ? t[r] = e(t[r], n) : t[r] = "object" == typeof n ?
					e({}, n) : n
			}
			for (var r = 0, o = arguments.length; r < o; r++) O(arguments[r], n);
			return t
		},
		extend: function(e, t, n) {
			return O(t, (function(t, r) {
				e[r] = n && "function" == typeof t ? I(t, n) : t
			})), e
		},
		trim: function(e) {
			return e.replace(/^\s*/, "").replace(/\s*$/, "")
		}
	},
	A = function(e, t, n, r, o) {
		return function(e, t, n, r, o) {
			return e.config = t, n && (e.code = n), e.request = r, e.response = o, e.isAxiosError = !0, e.toJSON =
				function() {
					return {
						message: this.message,
						name: this.name,
						description: this.description,
						number: this.number,
						fileName: this.fileName,
						lineNumber: this.lineNumber,
						columnNumber: this.columnNumber,
						stack: this.stack,
						config: this.config,
						code: this.code
					}
				}, e
		}(new Error(e), t, n, r, o)
	},
	N = function(e, t, n) {
		var r = n.config.validateStatus;
		!r || r(n.status) ? e(n) : t(A("Request failed with status code " + n.status, n.config, null, n.request, n))
	};

function C(e) {
	return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",")
		.replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
}
var D = function(e, t, n) {
		if (!t) return e;
		var r;
		if (n) r = n(t);
		else if (j.isURLSearchParams(t)) r = t.toString();
		else {
			var o = [];
			j.forEach(t, (function(e, t) {
				null != e && (j.isArray(e) ? t += "[]" : e = [e], j.forEach(e, (function(e) {
					j.isDate(e) ? e = e.toISOString() : j.isObject(e) && (e = JSON
						.stringify(e)), o.push(C(t) + "=" + C(e))
				})))
			})), r = o.join("&")
		}
		if (r) {
			var i = e.indexOf("#"); - 1 !== i && (e = e.slice(0, i)), e += (-1 === e.indexOf("?") ? "?" : "&") + r
		}
		return e
	},
	L = function(e, t) {
		return e && !/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t) ? function(e, t) {
			return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
		}(e, t) : t
	},
	R = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var q = "wechat";
var P = function(e) {
	try {
		return "string" == typeof e && e.length && (e = JSON.parse(e)) && "[object Object]" === Object.prototype
			.toString.call(e)
	} catch (e) {
		return !1
	}
};

function $(e, t) {
	var n = (void 0 === t ? {} : t).transformRequestOption,
		r = void 0 === n ? function(e) {
			return e
		} : n,
		o = function() {
			switch (!0) {
				case "object" == typeof wx:
					return q = "wechat", wx.request.bind(wx);
				case "object" == typeof swan:
					return q = "baidu", swan.request.bind(swan);
				case "object" == typeof dd:
					return q = "dd", dd.httpRequest.bind(dd);
				case "object" == typeof my:
					return q = "alipay", (my.request || my.httpRequest).bind(my);
				default:
					return wx.request.bind(wx)
			}
		}();
	return new Promise((function(t, n) {
		var i, a = e.data,
			s = e.headers,
			u = {
				method: e.method && e.method.toUpperCase() || "GET",
				url: D(L(e.baseURL, e.url), e.params, e.paramsSerializer),
				timeout: e.timeout,
				success: function(r) {
					var o = function(e, t, n) {
						var r = e.header || e.headers,
							o = e.statusCode || e.status,
							i = "";
						return 200 === o ? i = "OK" : 400 === o && (i = "Bad Request"), {
							data: e.data,
							status: o,
							statusText: i,
							headers: r,
							config: t,
							request: n
						}
					}(r, e, u);
					N(t, n, o)
				},
				fail: function(t) {
					! function(e, t, n) {
						switch (q) {
							case "wechat":
								-1 !== e.errMsg.indexOf("request:fail abort") ? t(A("Request aborted",
										n, "ECONNABORTED", "")) : -1 !== e.errMsg.indexOf("timeout") ?
									t(A("timeout of " + n.timeout + "ms exceeded", n, "ECONNABORTED",
										"")) : t(A("Network Error", n, null, ""));
								break;
							case "dd":
							case "alipay":
								[14, 19].includes(e.error) ? t(A("Request aborted", n, "ECONNABORTED",
									"", e)) : [13].includes(e.error) ? t(A("timeout of " + n
									.timeout + "ms exceeded", n, "ECONNABORTED", "", e)) : t(A(
									"Network Error", n, null, "", e));
								break;
							case "baidu":
								t(A("Network Error", n, null, ""))
						}
					}(t, n, e)
				},
				complete: function() {
					i = void 0
				}
			};
		if (e.auth) {
			var c = [e.auth.username || "", e.auth.password || ""],
				f = c[0],
				l = c[1];
			s.Authorization = "Basic " + function(e) {
				for (var t, n, r = String(e), o = 0, i = R, a = ""; r.charAt(0 | o) || (i = "=", o %
					1); a += i.charAt(63 & t >> 8 - o % 1 * 8)) {
					if ((n = r.charCodeAt(o += 3 / 4)) > 255) throw new Error(
						"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range."
						);
					t = t << 8 | n
				}
				return a
			}(f + ":" + l)
		}
		j.forEach(s, (function(e, t) {
				var n = t.toLowerCase();
				(void 0 === a && "content-type" === n || "referer" === n) && delete s[t]
			})), u.header = s, e.responseType && (u.responseType = e.responseType), e.cancelToken && e
			.cancelToken.promise.then((function(e) {
				i && (i.abort(), n(e), i = void 0)
			})), P(a) && (a = JSON.parse(a)), void 0 !== a && (u.data = a), i = o(r(function(e) {
				var t;
				return ["alipay", "dd"].includes(q) && (e.headers = e.header, delete e.header,
					"dd" === q && "GET" !== e.method && "application/json" === (null === (t = e
						.headers) || void 0 === t ? void 0 : t["Content-Type"]) &&
					"[object Object]" === Object.prototype.toString.call(e.data) && (e.data =
						JSON.stringify(e.data))), e
			}(u)))
	}))
}

function z() {
	this.handlers = []
}
z.prototype.use = function(e, t) {
	return this.handlers.push({
		fulfilled: e,
		rejected: t
	}), this.handlers.length - 1
}, z.prototype.eject = function(e) {
	this.handlers[e] && (this.handlers[e] = null)
}, z.prototype.forEach = function(e) {
	j.forEach(this.handlers, (function(t) {
		null !== t && e(t)
	}))
};
var Q = z,
	U = function(e, t, n) {
		return j.forEach(n, (function(n) {
			e = n(e, t)
		})), e
	},
	F = function(e) {
		return !(!e || !e.__CANCEL__)
	},
	B = function(e, t) {
		j.forEach(e, (function(n, r) {
			r !== t && r.toUpperCase() === t.toUpperCase() && (e[t] = n, delete e[r])
		}))
	},
	G = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host",
		"if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization",
		"referer", "retry-after", "user-agent"
	],
	H = j.isStandardBrowserEnv() ? function() {
		var e, t = /(msie|trident)/i.test(navigator.userAgent),
			n = document.createElement("a");

		function r(e) {
			var r = e;
			return t && (n.setAttribute("href", r), r = n.href), n.setAttribute("href", r), {
				href: n.href,
				protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
				host: n.host,
				search: n.search ? n.search.replace(/^\?/, "") : "",
				hash: n.hash ? n.hash.replace(/^#/, "") : "",
				hostname: n.hostname,
				port: n.port,
				pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname
			}
		}
		return e = r(window.location.href),
			function(t) {
				var n = j.isString(t) ? r(t) : t;
				return n.protocol === e.protocol && n.host === e.host
			}
	}() : function() {
		return !0
	},
	W = j.isStandardBrowserEnv() ? {
		write: function(e, t, n, r, o, i) {
			var a = [];
			a.push(e + "=" + encodeURIComponent(t)), j.isNumber(n) && a.push("expires=" + new Date(n)
			.toGMTString()), j.isString(r) && a.push("path=" + r), j.isString(o) && a.push("domain=" + o), !0 ===
				i && a.push("secure"), document.cookie = a.join("; ")
		},
		read: function(e) {
			var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
			return t ? decodeURIComponent(t[3]) : null
		},
		remove: function(e) {
			this.write(e, "", Date.now() - 864e5)
		}
	} : {
		write: function() {},
		read: function() {
			return null
		},
		remove: function() {}
	},
	V = function(e) {
		return new Promise((function(t, n) {
			var r = e.data,
				o = e.headers;
			j.isFormData(r) && delete o["Content-Type"];
			var i = new XMLHttpRequest;
			if (e.auth) {
				var a = e.auth.username || "",
					s = e.auth.password || "";
				o.Authorization = "Basic " + btoa(a + ":" + s)
			}
			var u = L(e.baseURL, e.url);
			if (i.open(e.method.toUpperCase(), D(u, e.params, e.paramsSerializer), !0), i.timeout = e
				.timeout, i.onreadystatechange = function() {
					if (i && 4 === i.readyState && (0 !== i.status || i.responseURL && 0 === i.responseURL
							.indexOf("file:"))) {
						var r = "getAllResponseHeaders" in i ? function(e) {
								var t, n, r, o = {};
								return e ? (j.forEach(e.split("\n"), (function(e) {
									if (r = e.indexOf(":"), t = j.trim(e.substr(0, r))
										.toLowerCase(), n = j.trim(e.substr(r + 1)), t) {
										if (o[t] && G.indexOf(t) >= 0) return;
										o[t] = "set-cookie" === t ? (o[t] ? o[t] : [])
											.concat([n]) : o[t] ? o[t] + ", " + n : n
									}
								})), o) : o
							}(i.getAllResponseHeaders()) : null,
							o = {
								data: e.responseType && "text" !== e.responseType ? i.response : i
									.responseText,
								status: i.status,
								statusText: i.statusText,
								headers: r,
								config: e,
								request: i
							};
						N(t, n, o), i = null
					}
				}, i.onabort = function() {
					i && (n(A("Request aborted", e, "ECONNABORTED", i)), i = null)
				}, i.onerror = function() {
					n(A("Network Error", e, null, i)), i = null
				}, i.ontimeout = function() {
					var t = "timeout of " + e.timeout + "ms exceeded";
					e.timeoutErrorMessage && (t = e.timeoutErrorMessage), n(A(t, e, "ECONNABORTED", i)), i =
						null
				}, j.isStandardBrowserEnv()) {
				var c = W,
					f = (e.withCredentials || H(u)) && e.xsrfCookieName ? c.read(e.xsrfCookieName) : void 0;
				f && (o[e.xsrfHeaderName] = f)
			}
			if ("setRequestHeader" in i && j.forEach(o, (function(e, t) {
					void 0 === r && "content-type" === t.toLowerCase() ? delete o[t] : i
						.setRequestHeader(t, e)
				})), j.isUndefined(e.withCredentials) || (i.withCredentials = !!e.withCredentials), e
				.responseType) try {
				i.responseType = e.responseType
			} catch (t) {
				if ("json" !== e.responseType) throw t
			}
			"function" == typeof e.onDownloadProgress && i.addEventListener("progress", e
					.onDownloadProgress), "function" == typeof e.onUploadProgress && i.upload && i.upload
				.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise
				.then((function(e) {
					i && (i.abort(), n(e), i = null)
				})), void 0 === r && (r = null), i.send(r)
		}))
	},
	Y = {
		"Content-Type": "application/x-www-form-urlencoded"
	};

function K(e, t) {
	!j.isUndefined(e) && j.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t)
}
var J, X = {
	adapter: (("undefined" != typeof XMLHttpRequest || "undefined" != typeof process && "[object process]" ===
		Object.prototype.toString.call(process)) && (J = V), J),
	transformRequest: [function(e, t) {
		return B(t, "Accept"), B(t, "Content-Type"), j.isFormData(e) || j.isArrayBuffer(e) || j.isBuffer(
			e) || j.isStream(e) || j.isFile(e) || j.isBlob(e) ? e : j.isArrayBufferView(e) ? e.buffer : j
			.isURLSearchParams(e) ? (K(t, "application/x-www-form-urlencoded;charset=utf-8"), e
		.toString()) : j.isObject(e) ? (K(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e
	}],
	transformResponse: [function(e) {
		if ("string" == typeof e) try {
			e = JSON.parse(e)
		} catch (e) {}
		return e
	}],
	timeout: 0,
	xsrfCookieName: "XSRF-TOKEN",
	xsrfHeaderName: "X-XSRF-TOKEN",
	maxContentLength: -1,
	validateStatus: function(e) {
		return e >= 200 && e < 300
	}
};
X.headers = {
	common: {
		Accept: "application/json, text/plain, */*"
	}
}, j.forEach(["delete", "get", "head"], (function(e) {
	X.headers[e] = {}
})), j.forEach(["post", "put", "patch"], (function(e) {
	X.headers[e] = j.merge(Y)
}));
var Z = X;

function ee(e) {
	e.cancelToken && e.cancelToken.throwIfRequested()
}
var te = function(e) {
		return ee(e), e.headers = e.headers || {}, e.data = U(e.data, e.headers, e.transformRequest), e.headers = j
			.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers), j.forEach(["delete", "get", "head",
				"post", "put", "patch", "common"
			], (function(t) {
				delete e.headers[t]
			})), (e.adapter || Z.adapter)(e).then((function(t) {
				return ee(e), t.data = U(t.data, t.headers, e.transformResponse), t
			}), (function(t) {
				return F(t) || (ee(e), t && t.response && (t.response.data = U(t.response.data, t.response
					.headers, e.transformResponse))), Promise.reject(t)
			}))
	},
	ne = function(e, t) {
		t = t || {};
		var n = {},
			r = ["url", "method", "params", "data"],
			o = ["headers", "auth", "proxy"],
			i = ["baseURL", "url", "transformRequest", "transformResponse", "paramsSerializer", "timeout",
				"withCredentials", "adapter", "responseType", "xsrfCookieName", "xsrfHeaderName", "onUploadProgress",
				"onDownloadProgress", "maxContentLength", "validateStatus", "maxRedirects", "httpAgent", "httpsAgent",
				"cancelToken", "socketPath"
			];
		j.forEach(r, (function(e) {
			void 0 !== t[e] && (n[e] = t[e])
		})), j.forEach(o, (function(r) {
			j.isObject(t[r]) ? n[r] = j.deepMerge(e[r], t[r]) : void 0 !== t[r] ? n[r] = t[r] : j.isObject(
				e[r]) ? n[r] = j.deepMerge(e[r]) : void 0 !== e[r] && (n[r] = e[r])
		})), j.forEach(i, (function(r) {
			void 0 !== t[r] ? n[r] = t[r] : void 0 !== e[r] && (n[r] = e[r])
		}));
		var a = r.concat(o).concat(i),
			s = Object.keys(t).filter((function(e) {
				return -1 === a.indexOf(e)
			}));
		return j.forEach(s, (function(r) {
			void 0 !== t[r] ? n[r] = t[r] : void 0 !== e[r] && (n[r] = e[r])
		})), n
	};

function re(e) {
	this.defaults = e, this.interceptors = {
		request: new Q,
		response: new Q
	}
}
re.prototype.request = function(e) {
	"string" == typeof e ? (e = arguments[1] || {}).url = arguments[0] : e = e || {}, (e = ne(this.defaults, e))
		.method ? e.method = e.method.toLowerCase() : this.defaults.method ? e.method = this.defaults.method
		.toLowerCase() : e.method = "get";
	var t = [te, void 0],
		n = Promise.resolve(e);
	for (this.interceptors.request.forEach((function(e) {
			t.unshift(e.fulfilled, e.rejected)
		})), this.interceptors.response.forEach((function(e) {
			t.push(e.fulfilled, e.rejected)
		})); t.length;) n = n.then(t.shift(), t.shift());
	return n
}, re.prototype.getUri = function(e) {
	return e = ne(this.defaults, e), D(e.url, e.params, e.paramsSerializer).replace(/^\?/, "")
}, j.forEach(["delete", "get", "head", "options"], (function(e) {
	re.prototype[e] = function(t, n) {
		return this.request(j.merge(n || {}, {
			method: e,
			url: t
		}))
	}
})), j.forEach(["post", "put", "patch"], (function(e) {
	re.prototype[e] = function(t, n, r) {
		return this.request(j.merge(r || {}, {
			method: e,
			url: t,
			data: n
		}))
	}
}));
var oe = re;

function ie(e) {
	this.message = e
}
ie.prototype.toString = function() {
	return "Cancel" + (this.message ? ": " + this.message : "")
}, ie.prototype.__CANCEL__ = !0;
var ae = ie;

function se(e) {
	if ("function" != typeof e) throw new TypeError("executor must be a function.");
	var t;
	this.promise = new Promise((function(e) {
		t = e
	}));
	var n = this;
	e((function(e) {
		n.reason || (n.reason = new ae(e), t(n.reason))
	}))
}
se.prototype.throwIfRequested = function() {
	if (this.reason) throw this.reason
}, se.source = function() {
	var e;
	return {
		token: new se((function(t) {
			e = t
		})),
		cancel: e
	}
};
var ue = se;

function ce(e) {
	var t = new oe(e),
		n = I(oe.prototype.request, t);
	return j.extend(n, oe.prototype, t), j.extend(n, t), n
}
var fe = ce(Z);
fe.Axios = oe, fe.create = function(e) {
	return ce(ne(fe.defaults, e))
}, fe.Cancel = ae, fe.CancelToken = ue, fe.isCancel = F, fe.all = function(e) {
	return Promise.all(e)
}, fe.spread = function(e) {
	return function(t) {
		return e.apply(null, t)
	}
};
var le = fe,
	de = fe;
le.default = de;
var pe = le,
	he = "global.",
	ge = he + "set-runtime",
	me = he + "set-uid",
	ve = he + "set-token",
	ye = he + "set-api",
	be = he + "set-debug",
	_e = he + "set-database",
	we = he + "set-groupId",
	Se = he + "set-controller-name",
	Ie = "data.",
	Te = ".async",
	Ee = Ie + "set-history",
	ke = Ie + "add-history",
	Me = Ie + "update-list",
	xe = Ie + "get-history" + Te,
	Oe = Ie + "clear-history",
	je = Ie + "update-history",
	Ae = Ie + "update-msg-to-dbhistory",
	Ne = Ie + "get-group-list" + Te,
	Ce = Ie + "update-group-to-dbgrouplist",
	De = Ie + "set-group-list",
	Le = Ie + "add-group-list",
	Re = Ie + "clear-group-list",
	qe = Ie + "update-group-list",
	Pe = {
		uid: "",
		token: "",
		runtime: {
			env: "",
			apigw: ""
		},
		debug: !1,
		db: !1,
		controllerName: "",
		api: {
			wssurl: "",
			$telescope: "",
			getAdvisoryInfo: "",
			getWaitConsultationInfo: "",
			getQuestion: "",
			answerQuestion: "",
			$commonApiBaseUrl: "",
			$drugstoreQueryMessages: "",
			$drugstoreQueryGroupInfo: "",
			$drugstoreSendMessage: "",
			queryGroupInfo: "",
			$drugstoreUploadFile: "",
			$drugstoreQueryGroupList: "",
			getDmsConfigData: "",
			$operateQueryMessages: "",
			$operateQueryGroupList: "",
			$operateQueryGroupInfo: "",
			$operateQueryCreateGroup: "",
			$commonApiQueryMessages: "",
			$commonApiQueryGroupList: "",
			$commonApiQueryGroupInfo: "",
			$openplatformLogin: ""
		}
	};
var $e = {
		_ws: null,
		retryTimesMax: 50
	},
	ze = "core/";
var Qe = function() {
	return Qe = Object.assign || function(e) {
		for (var t, n = 1, r = arguments.length; n < r; n++)
			for (var o in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
		return e
	}, Qe.apply(this, arguments)
};

function Ue(e, t, n, r) {
	return new(n || (n = Promise))((function(o, i) {
		function a(e) {
			try {
				u(r.next(e))
			} catch (e) {
				i(e)
			}
		}

		function s(e) {
			try {
				u(r.throw(e))
			} catch (e) {
				i(e)
			}
		}

		function u(e) {
			var t;
			e.done ? o(e.value) : (t = e.value, t instanceof n ? t : new n((function(e) {
				e(t)
			}))).then(a, s)
		}
		u((r = r.apply(e, t || [])).next())
	}))
}

function Fe(e, t) {
	var n, r, o, i, a = {
		label: 0,
		sent: function() {
			if (1 & o[0]) throw o[1];
			return o[1]
		},
		trys: [],
		ops: []
	};
	return i = {
		next: s(0),
		throw: s(1),
		return: s(2)
	}, "function" == typeof Symbol && (i[Symbol.iterator] = function() {
		return this
	}), i;

	function s(s) {
		return function(u) {
			return function(s) {
				if (n) throw new TypeError("Generator is already executing.");
				for (; i && (i = 0, s[0] && (a = 0)), a;) try {
					if (n = 1, r && (o = 2 & s[0] ? r.return : s[0] ? r.throw || ((o = r.return) && o.call(
							r), 0) : r.next) && !(o = o.call(r, s[1])).done) return o;
					switch (r = 0, o && (s = [2 & s[0], o.value]), s[0]) {
						case 0:
						case 1:
							o = s;
							break;
						case 4:
							return a.label++, {
								value: s[1],
								done: !1
							};
						case 5:
							a.label++, r = s[1], s = [0];
							continue;
						case 7:
							s = a.ops.pop(), a.trys.pop();
							continue;
						default:
							if (!(o = a.trys, (o = o.length > 0 && o[o.length - 1]) || 6 !== s[0] && 2 !==
									s[0])) {
								a = 0;
								continue
							}
							if (3 === s[0] && (!o || s[1] > o[0] && s[1] < o[3])) {
								a.label = s[1];
								break
							}
							if (6 === s[0] && a.label < o[1]) {
								a.label = o[1], o = s;
								break
							}
							if (o && a.label < o[2]) {
								a.label = o[2], a.ops.push(s);
								break
							}
							o[2] && a.ops.pop(), a.trys.pop();
							continue
					}
					s = t.call(e, a)
				} catch (e) {
					s = [6, e], r = 0
				} finally {
					n = o = 0
				}
				if (5 & s[0]) throw s[1];
				return {
					value: s[0] ? s[1] : void 0,
					done: !0
				}
			}([s, u])
		}
	}
}

function Be() {
	for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length;
	var r = Array(e),
		o = 0;
	for (t = 0; t < n; t++)
		for (var i = arguments[t], a = 0, s = i.length; a < s; a++, o++) r[o] = i[a];
	return r
}
"function" == typeof SuppressedError && SuppressedError;
var Ge = [],
	He = {
		historyMessageList: Ge,
		historyMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupMessageList: Ge,
		groupMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupId: -1
	};
var We = [],
	Ve = {
		historyMessageList: We,
		historyMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupMessageList: We,
		groupMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupId: -1
	};
var Ye = function(e) {
		return "@@redux-saga/" + e
	},
	Ke = Ye("CANCEL_PROMISE"),
	Je = Ye("CHANNEL_END"),
	Xe = Ye("IO"),
	Ze = Ye("MATCH"),
	et = Ye("MULTICAST"),
	tt = Ye("SAGA_ACTION"),
	nt = Ye("SELF_CANCELLATION"),
	rt = Ye("TASK"),
	ot = Ye("TASK_CANCEL"),
	it = Ye("TERMINATE"),
	at = Ye("LOCATION");

function st() {
	return st = Object.assign || function(e) {
		for (var t = 1; t < arguments.length; t++) {
			var n = arguments[t];
			for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
		}
		return e
	}, st.apply(this, arguments)
}
var ut = function(e) {
		return null == e
	},
	ct = function(e) {
		return null != e
	},
	ft = function(e) {
		return "function" == typeof e
	},
	lt = function(e) {
		return "string" == typeof e
	},
	dt = Array.isArray,
	pt = function(e) {
		return e && !dt(e) && "object" == typeof e
	},
	ht = function(e) {
		return e && ft(e.then)
	},
	gt = function(e) {
		return e && ft(e.next) && ft(e.throw)
	},
	mt = function(e) {
		return e && e[rt]
	},
	vt = function(e) {
		return e && ft(e.isEmpty) && ft(e.take) && ft(e.put)
	},
	yt = function e(t) {
		return t && (lt(t) || wt(t) || ft(t) || dt(t) && t.every(e))
	},
	bt = function(e) {
		return e && ft(e.take) && ft(e.close)
	},
	_t = function(e) {
		return ft(e) && e.hasOwnProperty("toString")
	},
	wt = function(e) {
		return Boolean(e) && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
	},
	St = function(e) {
		return bt(e) && e[et]
	},
	It = function(e) {
		return e && e[Xe]
	};

function Tt(e, t) {
	var n;
	void 0 === t && (t = !0);
	var r = new Promise((function(r) {
		n = setTimeout(r, e, t)
	}));
	return r[Ke] = function() {
		clearTimeout(n)
	}, r
}
var Et = function(e) {
		return function() {
			return e
		}
	}(!0),
	kt = function() {};
"production" !== process.env.NODE_ENV && "undefined" != typeof Proxy && (kt = new Proxy(kt, {
	set: function() {
		throw Rt("There was an attempt to assign a property to internal `noop` function.")
	}
}));
var Mt = function(e) {
		return e
	},
	xt = "function" == typeof Symbol && Symbol.asyncIterator ? Symbol.asyncIterator : "@@asyncIterator";

function Ot(e, t, n) {
	if (!t(e)) throw new Error(n)
}
var jt = function(e, t) {
	st(e, t), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach((function(n) {
		e[n] = t[n]
	}))
};

function At(e, t) {
	var n = e.indexOf(t);
	n >= 0 && e.splice(n, 1)
}
var Nt = function(e) {
		throw e
	},
	Ct = function(e) {
		return {
			value: e,
			done: !0
		}
	};

function Dt(e, t, n) {
	void 0 === t && (t = Nt), void 0 === n && (n = "iterator");
	var r = {
		meta: {
			name: n
		},
		next: e,
		throw: t,
		return: Ct,
		isSagaIterator: !0
	};
	return "undefined" != typeof Symbol && (r[Symbol.iterator] = function() {
		return r
	}), r
}

function Lt(e, t) {
	var n = t.sagaStack;
	console.error(e), console.error(n)
}
var Rt = function(e) {
		return new Error(
			"\n  redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\n  in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\n  Error: " +
			e + "\n")
	},
	qt = function(e, t) {
		return (e ? e + "." : "") + "setContext(props): argument " + t + " is not a plain object"
	},
	Pt = function(e) {
		return Array.apply(null, new Array(e))
	},
	$t = function(e) {
		return function(t) {
			return "production" !== process.env.NODE_ENV && Ot(t, (function(e) {
					return !Object.isFrozen(e)
				}),
				"You can't put (a.k.a. dispatch from saga) frozen actions.\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\nIf you are using redux and you care about this behaviour (frozen actions),\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\nExample implementation:\n\nconst freezeActions = store => next => action => next(Object.freeze(action))\n"
				), e(Object.defineProperty(t, tt, {
				value: !0
			}))
		}
	},
	zt = function(e) {
		return e === it
	},
	Qt = function(e) {
		return e === ot
	},
	Ut = function(e) {
		return zt(e) || Qt(e)
	};

function Ft(e, t) {
	var n = Object.keys(e),
		r = n.length;
	"production" !== process.env.NODE_ENV && Ot(r, (function(e) {
		return e > 0
	}), "createAllStyleChildCallbacks: get an empty array or object");
	var o, i = 0,
		a = dt(e) ? Pt(r) : {},
		s = {};
	return n.forEach((function(e) {
		var n = function(n, s) {
			o || (s || Ut(n) ? (t.cancel(), t(n, s)) : (a[e] = n, ++i === r && (o = !0, t(a))))
		};
		n.cancel = kt, s[e] = n
	})), t.cancel = function() {
		o || (o = !0, n.forEach((function(e) {
			return s[e].cancel()
		})))
	}, s
}

function Bt(e) {
	return {
		name: e.name || "anonymous",
		location: Gt(e)
	}
}

function Gt(e) {
	return e[at]
}
var Ht = function(e) {
		return function(e, t) {
			void 0 === e && (e = 10);
			var n = new Array(e),
				r = 0,
				o = 0,
				i = 0,
				a = function(t) {
					n[o] = t, o = (o + 1) % e, r++
				},
				s = function() {
					if (0 != r) {
						var t = n[i];
						return n[i] = null, r--, i = (i + 1) % e, t
					}
				},
				u = function() {
					for (var e = []; r;) e.push(s());
					return e
				};
			return {
				isEmpty: function() {
					return 0 == r
				},
				put: function(s) {
					var c;
					if (r < e) a(s);
					else switch (t) {
						case 1:
							throw new Error("Channel's Buffer overflow!");
						case 3:
							n[o] = s, i = o = (o + 1) % e;
							break;
						case 4:
							c = 2 * e, n = u(), r = n.length, o = n.length, i = 0, n.length = c, e = c, a(s)
					}
				},
				take: s,
				flush: u
			}
		}(e, 4)
	},
	Wt = "TAKE",
	Vt = "PUT",
	Yt = "CALL",
	Kt = "FORK",
	Jt = "CANCEL",
	Xt =
	"\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)",
	Zt = function(e, t) {
		var n;
		return (n = {})[Xe] = !0, n.combinator = !1, n.type = e, n.payload = t, n
	};

function en(e, t) {
	if (void 0 === e && (e = "*"), "production" !== process.env.NODE_ENV && arguments.length && Ot(arguments[0], ct,
			"take(patternOrChannel): patternOrChannel is undefined"), yt(e)) return Zt(Wt, {
		pattern: e
	});
	if (St(e) && ct(t) && yt(t)) return Zt(Wt, {
		channel: e,
		pattern: t
	});
	if (bt(e)) return Zt(Wt, {
		channel: e
	});
	if ("production" !== process.env.NODE_ENV) throw new Error("take(patternOrChannel): argument " + e +
		" is not valid channel or a valid pattern")
}

function tn(e, t) {
	return "production" !== process.env.NODE_ENV && (arguments.length > 1 ? (Ot(e, ct,
		"put(channel, action): argument channel is undefined"), Ot(e, bt,
		"put(channel, action): argument " + e + " is not a valid channel"), Ot(t, ct,
		"put(channel, action): argument action is undefined")) : Ot(e, ct,
		"put(action): argument action is undefined")), ut(t) && (t = e, e = void 0), Zt(Vt, {
		channel: e,
		action: t
	})
}
var nn = function(e, t) {
	if (Ot(t, ct, e + ": argument fn is undefined or null"), !ft(t)) {
		var n, r = null;
		if (dt(t)) r = t[0], Ot(n = t[1], ct, e + ": argument of type [context, fn] has undefined or null `fn`");
		else {
			if (!pt(t)) return void Ot(t, ft, e + ": argument fn is not function");
			r = t.context, Ot(n = t.fn, ct, e + ": argument of type {context, fn} has undefined or null `fn`")
		}
		r && lt(n) ? Ot(r[n], ft, e + ': context arguments has no such method - "' + n + '"') : Ot(n, ft, e +
			": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")
	}
};

function rn(e, t) {
	var n, r = null;
	return ft(e) ? n = e : (dt(e) ? (r = e[0], n = e[1]) : (r = e.context, n = e.fn), r && lt(n) && ft(r[n]) && (n = r[
		n])), {
		context: r,
		fn: n,
		args: t
	}
}
var on = function(e) {
	return e !== un
};

function an(e) {
	"production" !== process.env.NODE_ENV && (nn("fork", e), Ot(e, (function(e) {
		return !It(e)
	}), "fork: argument must not be an effect"));
	for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
	return Zt(Kt, rn(e, n))
}

function sn(e) {
	if (void 0 === e && (e = nt), "production" !== process.env.NODE_ENV) {
		if (arguments.length > 1) throw new Error(
			"cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks."
			);
		dt(e) ? e.forEach((function(e) {
			Ot(e, mt, "cancel([...tasks]): argument " + e + " is not a valid Task object " + Xt)
		})) : e !== nt && ct(e) && Ot(e, mt, "cancel(task): argument " + e + " is not a valid Task object " + Xt)
	}
	return Zt(Jt, e)
}
var un = function(e) {
	for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
	if ("production" !== process.env.NODE_ENV) {
		var o = "number" == typeof n[0] ? n[0] : "ms";
		Ot(e, on, "instead of writing `yield call(delay, " + o +
				")` where delay is an effect from `redux-saga/effects` you should write `yield delay(" + o + ")`"),
			nn("call", e)
	}
	return Zt(Yt, rn(e, n))
}.bind(null, Tt);
var cn = [],
	fn = 0;

function ln(e) {
	try {
		hn(), e()
	} finally {
		gn()
	}
}

function dn(e) {
	cn.push(e), fn || (hn(), mn())
}

function pn(e) {
	try {
		return hn(), e()
	} finally {
		mn()
	}
}

function hn() {
	fn++
}

function gn() {
	fn--
}

function mn() {
	var e;
	for (gn(); !fn && void 0 !== (e = cn.shift());) ln(e)
}
var vn = function(e) {
		return function(t) {
			return e.some((function(e) {
				return Sn(e)(t)
			}))
		}
	},
	yn = function(e) {
		return function(t) {
			return e(t)
		}
	},
	bn = function(e) {
		return function(t) {
			return t.type === String(e)
		}
	},
	_n = function(e) {
		return function(t) {
			return t.type === e
		}
	},
	wn = function() {
		return Et
	};

function Sn(e) {
	var t = "*" === e ? wn : lt(e) ? bn : dt(e) ? vn : _t(e) ? bn : ft(e) ? yn : wt(e) ? _n : null;
	if (null === t) throw new Error("invalid pattern: " + e);
	return t(e)
}
var In = {
		type: Je
	},
	Tn = function(e) {
		return e && e.type === Je
	},
	En = "Cannot have a closed channel with pending takers",
	kn = "invalid buffer passed to channel factory function",
	Mn =
	"Saga or channel was provided with an undefined action\nHints:\n  - check that your Action Creator returns a non-undefined value\n  - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners";

function xn(e) {
	void 0 === e && (e = Ht());
	var t = !1,
		n = [];

	function r() {
		if (t && n.length) throw Rt(En);
		if (n.length && !e.isEmpty()) throw Rt("Cannot have pending takers with non empty buffer")
	}
	return "production" !== process.env.NODE_ENV && Ot(e, vt, kn), {
		take: function(o) {
			"production" !== process.env.NODE_ENV && (r(), Ot(o, ft,
				"channel.take's callback must be a function")), t && e.isEmpty() ? o(In) : e.isEmpty() ? (n
				.push(o), o.cancel = function() {
					At(n, o)
				}) : o(e.take())
		},
		put: function(o) {
			if ("production" !== process.env.NODE_ENV && (r(), Ot(o, ct, Mn)), !t) {
				if (0 === n.length) return e.put(o);
				n.shift()(o)
			}
		},
		flush: function(n) {
			"production" !== process.env.NODE_ENV && (r(), Ot(n, ft,
				"channel.flush' callback must be a function")), t && e.isEmpty() ? n(In) : n(e.flush())
		},
		close: function() {
			if ("production" !== process.env.NODE_ENV && r(), !t) {
				t = !0;
				var e = n;
				n = [];
				for (var o = 0, i = e.length; o < i; o++) {
					(0, e[o])(In)
				}
			}
		}
	}
}

function On() {
	var e = function() {
			var e, t = !1,
				n = [],
				r = n;

			function o() {
				if (t && r.length) throw Rt(En)
			}
			var i = function() {
					r === n && (r = n.slice())
				},
				a = function() {
					"production" !== process.env.NODE_ENV && o(), t = !0;
					var e = n = r;
					r = [], e.forEach((function(e) {
						e(In)
					}))
				};
			return (e = {})[et] = !0, e.put = function(e) {
				if ("production" !== process.env.NODE_ENV && (o(), Ot(e, ct, Mn)), !t)
					if (Tn(e)) a();
					else
						for (var i = n = r, s = 0, u = i.length; s < u; s++) {
							var c = i[s];
							c[Ze](e) && (c.cancel(), c(e))
						}
			}, e.take = function(e, n) {
				var a, s;
				void 0 === n && (n = wn), "production" !== process.env.NODE_ENV && o(), t ? e(In) : (e[Ze] = n, i(),
					r.push(e), e.cancel = (a = function() {
						i(), At(r, e)
					}, s = !1, function() {
						s || (s = !0, a())
					}))
			}, e.close = a, e
		}(),
		t = e.put;
	return e.put = function(e) {
		e[tt] ? t(e) : dn((function() {
			t(e)
		}))
	}, e
}
var jn = 0,
	An = 1,
	Nn = 2,
	Cn = 3;

function Dn(e, t) {
	var n = e[Ke];
	ft(n) && (t.cancel = n), e.then(t, (function(e) {
		t(e, !0)
	}))
}
var Ln, Rn = 0,
	qn = function() {
		return ++Rn
	};

function Pn(e) {
	e.isRunning() && e.cancel()
}
var $n = ((Ln = {})[Wt] = function(e, t, n) {
	var r = t.channel,
		o = void 0 === r ? e.channel : r,
		i = t.pattern,
		a = t.maybe,
		s = function(e) {
			e instanceof Error ? n(e, !0) : !Tn(e) || a ? n(e) : n(it)
		};
	try {
		o.take(s, ct(i) ? Sn(i) : null)
	} catch (e) {
		return void n(e, !0)
	}
	n.cancel = s.cancel
}, Ln[Vt] = function(e, t, n) {
	var r = t.channel,
		o = t.action,
		i = t.resolve;
	dn((function() {
		var t;
		try {
			t = (r ? r.put : e.dispatch)(o)
		} catch (e) {
			return void n(e, !0)
		}
		i && ht(t) ? Dn(t, n) : n(t)
	}))
}, Ln.ALL = function(e, t, n, r) {
	var o = r.digestEffect,
		i = Rn,
		a = Object.keys(t);
	if (0 !== a.length) {
		var s = Ft(t, n);
		a.forEach((function(e) {
			o(t[e], i, s[e], e)
		}))
	} else n(dt(t) ? [] : {})
}, Ln.RACE = function(e, t, n, r) {
	var o = r.digestEffect,
		i = Rn,
		a = Object.keys(t),
		s = dt(t) ? Pt(a.length) : {},
		u = {},
		c = !1;
	a.forEach((function(e) {
		var t = function(t, r) {
			c || (r || Ut(t) ? (n.cancel(), n(t, r)) : (n.cancel(), c = !0, s[e] = t, n(s)))
		};
		t.cancel = kt, u[e] = t
	})), n.cancel = function() {
		c || (c = !0, a.forEach((function(e) {
			return u[e].cancel()
		})))
	}, a.forEach((function(e) {
		c || o(t[e], i, u[e], e)
	}))
}, Ln[Yt] = function(e, t, n, r) {
	var o = t.context,
		i = t.fn,
		a = t.args,
		s = r.task;
	try {
		var u = i.apply(o, a);
		if (ht(u)) return void Dn(u, n);
		if (gt(u)) return void Kn(e, u, s.context, Rn, Bt(i), !1, n);
		n(u)
	} catch (e) {
		n(e, !0)
	}
}, Ln.CPS = function(e, t, n) {
	var r = t.context,
		o = t.fn,
		i = t.args;
	try {
		var a = function(e, t) {
			ut(e) ? n(t) : n(e, !0)
		};
		o.apply(r, i.concat(a)), a.cancel && (n.cancel = a.cancel)
	} catch (e) {
		n(e, !0)
	}
}, Ln[Kt] = function(e, t, n, r) {
	var o = t.context,
		i = t.fn,
		a = t.args,
		s = t.detached,
		u = r.task,
		c = function(e) {
			var t = e.context,
				n = e.fn,
				r = e.args;
			try {
				var o = n.apply(t, r);
				if (gt(o)) return o;
				var i = !1;
				return Dt((function(e) {
					return i ? {
						value: e,
						done: !0
					} : (i = !0, {
						value: o,
						done: !ht(o)
					})
				}))
			} catch (e) {
				return Dt((function() {
					throw e
				}))
			}
		}({
			context: o,
			fn: i,
			args: a
		}),
		f = function(e, t) {
			return e.isSagaIterator ? {
				name: e.meta.name
			} : Bt(t)
		}(c, i);
	pn((function() {
		var t = Kn(e, c, u.context, Rn, f, s, void 0);
		s ? n(t) : t.isRunning() ? (u.queue.addTask(t), n(t)) : t.isAborted() ? u.queue.abort(t
			.error()) : n(t)
	}))
}, Ln.JOIN = function(e, t, n, r) {
	var o = r.task,
		i = function(e, t) {
			if (e.isRunning()) {
				var n = {
					task: o,
					cb: t
				};
				t.cancel = function() {
					e.isRunning() && At(e.joiners, n)
				}, e.joiners.push(n)
			} else e.isAborted() ? t(e.error(), !0) : t(e.result())
		};
	if (dt(t)) {
		if (0 === t.length) return void n([]);
		var a = Ft(t, n);
		t.forEach((function(e, t) {
			i(e, a[t])
		}))
	} else i(t, n)
}, Ln[Jt] = function(e, t, n, r) {
	var o = r.task;
	t === nt ? Pn(o) : dt(t) ? t.forEach(Pn) : Pn(t), n()
}, Ln.SELECT = function(e, t, n) {
	var r = t.selector,
		o = t.args;
	try {
		n(r.apply(void 0, [e.getState()].concat(o)))
	} catch (e) {
		n(e, !0)
	}
}, Ln.ACTION_CHANNEL = function(e, t, n) {
	var r = t.pattern,
		o = xn(t.buffer),
		i = Sn(r),
		a = function t(n) {
			Tn(n) || e.channel.take(t, i), o.put(n)
		},
		s = o.close;
	o.close = function() {
		a.cancel(), s()
	}, e.channel.take(a, i), n(o)
}, Ln.CANCELLED = function(e, t, n, r) {
	n(r.task.isCancelled())
}, Ln.FLUSH = function(e, t, n) {
	t.flush(n)
}, Ln.GET_CONTEXT = function(e, t, n, r) {
	n(r.task.context[t])
}, Ln.SET_CONTEXT = function(e, t, n, r) {
	var o = r.task;
	jt(o.context, t), n()
}, Ln);

function zn(e, t) {
	return e + "?" + t
}

function Qn(e) {
	var t = e.name,
		n = e.location;
	return n ? t + "  " + zn(n.fileName, n.lineNumber) : t
}

function Un(e) {
	var t = function(e, t) {
		var n;
		return (n = []).concat.apply(n, t.map(e))
	}((function(e) {
		return e.cancelledTasks
	}), e);
	return t.length ? ["Tasks cancelled due to error:"].concat(t).join("\n") : ""
}
var Fn = null,
	Bn = [],
	Gn = function(e) {
		e.crashedEffect = Fn, Bn.push(e)
	},
	Hn = function() {
		Fn = null, Bn.length = 0
	},
	Wn = function(e) {
		Fn = e
	},
	Vn = function() {
		var e = Bn[0],
			t = Bn.slice(1),
			n = e.crashedEffect ? function(e) {
				var t = Gt(e);
				return t ? t.code + "  " + zn(t.fileName, t.lineNumber) : ""
			}(e.crashedEffect) : null;
		return ["The above error occurred in task " + Qn(e.meta) + (n ? " \n when executing effect " + n : "")].concat(t
			.map((function(e) {
				return "    created by " + Qn(e.meta)
			})), [Un(Bn)]).join("\n")
	};

function Yn(e, t, n, r, o, i, a) {
	var s;
	void 0 === a && (a = kt);
	var u, c, f = jn,
		l = null,
		d = [],
		p = Object.create(n),
		h = function(e, t, n) {
			var r, o = [],
				i = !1;

			function a(e) {
				t(), u(), n(e, !0)
			}

			function s(t) {
				o.push(t), t.cont = function(s, u) {
					i || (At(o, t), t.cont = kt, u ? a(s) : (t === e && (r = s), o.length || (i = !0, n(r))))
				}
			}

			function u() {
				i || (i = !0, o.forEach((function(e) {
					e.cont = kt, e.cancel()
				})), o = [])
			}
			return s(e), {
				addTask: s,
				cancelAll: u,
				abort: a,
				getTasks: function() {
					return o
				}
			}
		}(t, (function() {
			d.push.apply(d, h.getTasks().map((function(e) {
				return e.meta.name
			})))
		}), g);

	function g(t, n) {
		if (n) {
			if (f = Nn, Gn({
					meta: o,
					cancelledTasks: d
				}), m.isRoot) {
				var r = Vn();
				Hn(), e.onError(t, {
					sagaStack: r
				})
			}
			c = t, l && l.reject(t)
		} else t === ot ? f = An : f !== An && (f = Cn), u = t, l && l.resolve(t);
		m.cont(t, n), m.joiners.forEach((function(e) {
			e.cb(t, n)
		})), m.joiners = null
	}
	var m = ((s = {})[rt] = !0, s.id = r, s.meta = o, s.isRoot = i, s.context = p, s.joiners = [], s.queue = h, s
		.cancel = function() {
			f === jn && (f = An, h.cancelAll(), g(ot, !1))
		}, s.cont = a, s.end = g, s.setContext = function(e) {
			"production" !== process.env.NODE_ENV && Ot(e, pt, qt("task", e)), jt(p, e)
		}, s.toPromise = function() {
			return l || ((e = {}).promise = new Promise((function(t, n) {
				e.resolve = t, e.reject = n
			})), l = e, f === Nn ? l.reject(c) : f !== jn && l.resolve(u)), l.promise;
			var e
		}, s.isRunning = function() {
			return f === jn
		}, s.isCancelled = function() {
			return f === An || f === jn && t.status === An
		}, s.isAborted = function() {
			return f === Nn
		}, s.result = function() {
			return u
		}, s.error = function() {
			return c
		}, s);
	return m
}

function Kn(e, t, n, r, o, i, a) {
	if ("production" !== process.env.NODE_ENV && t[xt]) throw new Error(
		"redux-saga doesn't support async generators, please use only regular ones");
	var s = e.finalizeRunEffect((function(t, n, r) {
		if (ht(t)) Dn(t, r);
		else if (gt(t)) Kn(e, t, c.context, n, o, !1, r);
		else if (t && t[Xe]) {
			(0, $n[t.type])(e, t.payload, r, f)
		} else r(t)
	}));
	l.cancel = kt;
	var u = {
			meta: o,
			cancel: function() {
				u.status === jn && (u.status = An, l(ot))
			},
			status: jn
		},
		c = Yn(e, u, n, r, o, i, a),
		f = {
			task: c,
			digestEffect: d
		};
	return a && (a.cancel = c.cancel), l(), c;

	function l(e, n) {
		try {
			var o;
			n ? (o = t.throw(e), Hn()) : Qt(e) ? (u.status = An, l.cancel(), o = ft(t.return) ? t.return(ot) : {
				done: !0,
				value: ot
			}) : o = zt(e) ? ft(t.return) ? t.return() : {
				done: !0
			} : t.next(e), o.done ? (u.status !== An && (u.status = Cn), u.cont(o.value)) : d(o.value, r, l)
		} catch (e) {
			if (u.status === An) throw e;
			u.status = Nn, u.cont(e, !0)
		}
	}

	function d(t, n, r, o) {
		void 0 === o && (o = "");
		var i, a = qn();

		function u(n, o) {
			i || (i = !0, r.cancel = kt, e.sagaMonitor && (o ? e.sagaMonitor.effectRejected(a, n) : e.sagaMonitor
				.effectResolved(a, n)), o && Wn(t), r(n, o))
		}
		e.sagaMonitor && e.sagaMonitor.effectTriggered({
			effectId: a,
			parentEffectId: n,
			label: o,
			effect: t
		}), u.cancel = kt, r.cancel = function() {
			i || (i = !0, u.cancel(), u.cancel = kt, e.sagaMonitor && e.sagaMonitor.effectCancelled(a))
		}, s(t, a, u)
	}
}
var Jn = "runSaga(options, saga, ...args): saga argument must be a Generator function!";

function Xn(e, t) {
	var n = e.channel,
		r = void 0 === n ? On() : n,
		o = e.dispatch,
		i = e.getState,
		a = e.context,
		s = void 0 === a ? {} : a,
		u = e.sagaMonitor,
		c = e.effectMiddlewares,
		f = e.onError,
		l = void 0 === f ? Lt : f;
	"production" !== process.env.NODE_ENV && Ot(t, ft, Jn);
	for (var d = arguments.length, p = new Array(d > 2 ? d - 2 : 0), h = 2; h < d; h++) p[h - 2] = arguments[h];
	var g = t.apply(void 0, p);
	"production" !== process.env.NODE_ENV && Ot(g, gt, Jn);
	var m, v = qn();
	if (u && (u.rootSagaStarted = u.rootSagaStarted || kt, u.effectTriggered = u.effectTriggered || kt, u
			.effectResolved = u.effectResolved || kt, u.effectRejected = u.effectRejected || kt, u.effectCancelled = u
			.effectCancelled || kt, u.actionDispatched = u.actionDispatched || kt, u.rootSagaStarted({
				effectId: v,
				saga: t,
				args: p
			})), "production" !== process.env.NODE_ENV) {
		if (ct(o) && Ot(o, ft, "dispatch must be a function"), ct(i) && Ot(i, ft, "getState must be a function"), ct(
			c)) {
			var y = "effectMiddlewares must be an array of functions";
			Ot(c, dt, y), c.forEach((function(e) {
				return Ot(e, ft, y)
			}))
		}
		Ot(l, ft, "onError passed to the redux-saga is not a function!")
	}
	if (c) {
		var b = w.apply(void 0, c);
		m = function(e) {
			return function(t, n, r) {
				return b((function(t) {
					return e(t, n, r)
				}))(t)
			}
		}
	} else m = Mt;
	var _ = {
		channel: r,
		dispatch: $t(o),
		getState: i,
		sagaMonitor: u,
		onError: l,
		finalizeRunEffect: m
	};
	return pn((function() {
		var e = Kn(_, g, s, v, Bt(t), !0, void 0);
		return u && u.effectResolved(v, e), e
	}))
}
var Zn = function(e) {
		return {
			done: !0,
			value: e
		}
	},
	er = {};

function tr(e) {
	return bt(e) ? "channel" : _t(e) ? String(e) : ft(e) ? e.name : String(e)
}

function nr(e, t, n) {
	var r, o, i, a = t;

	function s(t, n) {
		if (a === er) return Zn(t);
		if (n && !o) throw a = er, n;
		r && r(t);
		var s = n ? e[o](n) : e[a]();
		return a = s.nextState, i = s.effect, r = s.stateUpdater, o = s.errorState, a === er ? Zn(t) : i
	}
	return Dt(s, (function(e) {
		return s(null, e)
	}), n)
}

function rr(e, t) {
	for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o];
	var i, a = {
			done: !1,
			value: en(e)
		},
		s = function(e) {
			return i = e
		};
	return nr({
		q1: function() {
			return {
				nextState: "q2",
				effect: a,
				stateUpdater: s
			}
		},
		q2: function() {
			return {
				nextState: "q1",
				effect: (e = i, {
					done: !1,
					value: an.apply(void 0, [t].concat(r, [e]))
				})
			};
			var e
		}
	}, "q1", "takeEvery(" + tr(e) + ", " + t.name + ")")
}

function or(e, t) {
	for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o];
	var i, a, s = {
			done: !1,
			value: en(e)
		},
		u = function(e) {
			return {
				done: !1,
				value: an.apply(void 0, [t].concat(r, [e]))
			}
		},
		c = function(e) {
			return {
				done: !1,
				value: sn(e)
			}
		},
		f = function(e) {
			return i = e
		},
		l = function(e) {
			return a = e
		};
	return nr({
		q1: function() {
			return {
				nextState: "q2",
				effect: s,
				stateUpdater: l
			}
		},
		q2: function() {
			return i ? {
				nextState: "q3",
				effect: c(i)
			} : {
				nextState: "q1",
				effect: u(a),
				stateUpdater: f
			}
		},
		q3: function() {
			return {
				nextState: "q1",
				effect: u(a),
				stateUpdater: f
			}
		}
	}, "q1", "takeLatest(" + tr(e) + ", " + t.name + ")")
}
var ir, ar, sr = function(e, t, n) {
	Ot(t, ct, e.name + " requires a pattern or channel"), Ot(n, ct, e.name + " requires a saga parameter")
};

function ur(e, t) {
	"production" !== process.env.NODE_ENV && sr(ur, e, t);
	for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o];
	return an.apply(void 0, [rr, e, t].concat(r))
}

function cr(e, t) {
	"production" !== process.env.NODE_ENV && sr(cr, e, t);
	for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o];
	return an.apply(void 0, [or, e, t].concat(r))
}! function(e) {
	e["zim-_sendWithdraw"] = "zim-_sendWithdraw", e["zim-setEnv"] = "zim-setEnv", e["zim-addEventListener"] =
		"zim-addEventListener", e["zim-onReconnectMaxTimes"] = "zim-onReconnectMaxTimes", e["zim-_onsendsuccess"] =
		"zim-_onsendsuccess", e["zim-_onsendfail"] = "zim-_onsendfail", e["zim-_onmessage"] = "zim-_onmessage", e[
			"zim-_onerror"] = "zim-_onerror", e["zim-_onconnect"] = "zim-_onconnect", e["zim-_onclose"] =
		"zim-_onclose", e["zim-_sendMessage"] = "zim-_sendMessage", e["zim-_onLoginOut"] = "zim-_onLoginOut", e[
			"zim-_destory"] = "zim-_destory", e["main-_wsCoreInit"] = "main-_wsCoreInit", e["main-_addEventListener"] =
		"main-_addEventListener", e["main-_onClose"] = "main-_onClose", e["main-__reTryConnectTimer"] =
		"main-__reTryConnectTimer", e["main-_onRevLoginkeep"] = "_onRevLoginkeep", e["main-_onRev"] = "main-_onRev", e[
			"main-_loginKeep"] = "main-_loginKeep", e["main-_sendMessageWatch"] = "main-_sendMessageWatch", e[
			"main-_sendMessageError"] = "main-_sendMessageError", e["main-_sendMessageTimeOut"] =
		"main-_sendMessageTimeOut", e["main-_watchMessage"] = "main-_watchMessage", e["main-_closeWs"] =
		"main-_closeWs", e["main-_watchLoginKeep"] = "main-_watchLoginKeep", e["core-_connect"] = "core-_connect", e[
			"core-_onopen"] = "core-_onopen", e["core-_onmessage"] = "core-_onmessage", e["core-_onerror"] =
		"core-_onerror", e["core-_onclose"] = "core-_onclose", e["core-_send"] = "core-_send", e["api-response"] =
		"api-response", e["api-request"] = "api-request", e["main-compensateTag"] = "main-compensateTag", e[
			"guideDiagnosis.common"] = "guideDiagnosis.common"
}(ir || (ir = {}));
var fr = new Uint8Array(16);

function lr() {
	if (!ar && !(ar = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) ||
			"undefined" != typeof msCrypto && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues
			.bind(msCrypto))) throw new Error(
		"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported"
		);
	return ar(fr)
}
var dr =
	/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
for (var pr = [], hr = 0; hr < 256; ++hr) pr.push((hr + 256).toString(16).substr(1));

function gr(e) {
	var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
		n = (pr[e[t + 0]] + pr[e[t + 1]] + pr[e[t + 2]] + pr[e[t + 3]] + "-" + pr[e[t + 4]] + pr[e[t + 5]] + "-" + pr[e[
			t + 6]] + pr[e[t + 7]] + "-" + pr[e[t + 8]] + pr[e[t + 9]] + "-" + pr[e[t + 10]] + pr[e[t + 11]] + pr[e[
			t + 12]] + pr[e[t + 13]] + pr[e[t + 14]] + pr[e[t + 15]]).toLowerCase();
	if (! function(e) {
			return "string" == typeof e && dr.test(e)
		}(n)) throw TypeError("Stringified UUID is invalid");
	return n
}

function mr(e, t, n) {
	var r = (e = e || {}).random || (e.rng || lr)();
	if (r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, t) {
		n = n || 0;
		for (var o = 0; o < 16; ++o) t[n + o] = r[o];
		return t
	}
	return gr(r)
}
var vr = n((function(e, t) {
		e.exports = function() {
			var e = "millisecond",
				t = "second",
				n = "minute",
				r = "hour",
				o = "day",
				i = "week",
				a = "month",
				s = "quarter",
				u = "year",
				c = "date",
				f =
				/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/,
				l = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
				d = {
					name: "en",
					weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
					months: "January_February_March_April_May_June_July_August_September_October_November_December"
						.split("_")
				},
				p = function(e, t, n) {
					var r = String(e);
					return !r || r.length >= t ? e : "" + Array(t + 1 - r.length).join(n) + e
				},
				h = {
					s: p,
					z: function(e) {
						var t = -e.utcOffset(),
							n = Math.abs(t),
							r = Math.floor(n / 60),
							o = n % 60;
						return (t <= 0 ? "+" : "-") + p(r, 2, "0") + ":" + p(o, 2, "0")
					},
					m: function e(t, n) {
						if (t.date() < n.date()) return -e(n, t);
						var r = 12 * (n.year() - t.year()) + (n.month() - t.month()),
							o = t.clone().add(r, a),
							i = n - o < 0,
							s = t.clone().add(r + (i ? -1 : 1), a);
						return +(-(r + (n - o) / (i ? o - s : s - o)) || 0)
					},
					a: function(e) {
						return e < 0 ? Math.ceil(e) || 0 : Math.floor(e)
					},
					p: function(f) {
						return {
							M: a,
							y: u,
							w: i,
							d: o,
							D: c,
							h: r,
							m: n,
							s: t,
							ms: e,
							Q: s
						} [f] || String(f || "").toLowerCase().replace(/s$/, "")
					},
					u: function(e) {
						return void 0 === e
					}
				},
				g = "en",
				m = {};
			m[g] = d;
			var v = function(e) {
					return e instanceof w
				},
				y = function(e, t, n) {
					var r;
					if (!e) return g;
					if ("string" == typeof e) m[e] && (r = e), t && (m[e] = t, r = e);
					else {
						var o = e.name;
						m[o] = e, r = o
					}
					return !n && r && (g = r), r || !n && g
				},
				b = function(e, t) {
					if (v(e)) return e.clone();
					var n = "object" == typeof t ? t : {};
					return n.date = e, n.args = arguments, new w(n)
				},
				_ = h;
			_.l = y, _.i = v, _.w = function(e, t) {
				return b(e, {
					locale: t.$L,
					utc: t.$u,
					x: t.$x,
					$offset: t.$offset
				})
			};
			var w = function() {
					function d(e) {
						this.$L = y(e.locale, null, !0), this.parse(e)
					}
					var p = d.prototype;
					return p.parse = function(e) {
						this.$d = function(e) {
							var t = e.date,
								n = e.utc;
							if (null === t) return new Date(NaN);
							if (_.u(t)) return new Date;
							if (t instanceof Date) return new Date(t);
							if ("string" == typeof t && !/Z$/i.test(t)) {
								var r = t.match(f);
								if (r) {
									var o = r[2] - 1 || 0,
										i = (r[7] || "0").substring(0, 3);
									return n ? new Date(Date.UTC(r[1], o, r[3] || 1, r[4] || 0, r[
										5] || 0, r[6] || 0, i)) : new Date(r[1], o, r[3] || 1,
										r[4] || 0, r[5] || 0, r[6] || 0, i)
								}
							}
							return new Date(t)
						}(e), this.$x = e.x || {}, this.init()
					}, p.init = function() {
						var e = this.$d;
						this.$y = e.getFullYear(), this.$M = e.getMonth(), this.$D = e.getDate(), this
							.$W = e.getDay(), this.$H = e.getHours(), this.$m = e.getMinutes(), this
							.$s = e.getSeconds(), this.$ms = e.getMilliseconds()
					}, p.$utils = function() {
						return _
					}, p.isValid = function() {
						return !("Invalid Date" === this.$d.toString())
					}, p.isSame = function(e, t) {
						var n = b(e);
						return this.startOf(t) <= n && n <= this.endOf(t)
					}, p.isAfter = function(e, t) {
						return b(e) < this.startOf(t)
					}, p.isBefore = function(e, t) {
						return this.endOf(t) < b(e)
					}, p.$g = function(e, t, n) {
						return _.u(e) ? this[t] : this.set(n, e)
					}, p.unix = function() {
						return Math.floor(this.valueOf() / 1e3)
					}, p.valueOf = function() {
						return this.$d.getTime()
					}, p.startOf = function(e, s) {
						var f = this,
							l = !!_.u(s) || s,
							d = _.p(e),
							p = function(e, t) {
								var n = _.w(f.$u ? Date.UTC(f.$y, t, e) : new Date(f.$y, t, e), f);
								return l ? n : n.endOf(o)
							},
							h = function(e, t) {
								return _.w(f.toDate()[e].apply(f.toDate("s"), (l ? [0, 0, 0, 0] : [23,
									59, 59, 999
								]).slice(t)), f)
							},
							g = this.$W,
							m = this.$M,
							v = this.$D,
							y = "set" + (this.$u ? "UTC" : "");
						switch (d) {
							case u:
								return l ? p(1, 0) : p(31, 11);
							case a:
								return l ? p(1, m) : p(0, m + 1);
							case i:
								var b = this.$locale().weekStart || 0,
									w = (g < b ? g + 7 : g) - b;
								return p(l ? v - w : v + (6 - w), m);
							case o:
							case c:
								return h(y + "Hours", 0);
							case r:
								return h(y + "Minutes", 1);
							case n:
								return h(y + "Seconds", 2);
							case t:
								return h(y + "Milliseconds", 3);
							default:
								return this.clone()
						}
					}, p.endOf = function(e) {
						return this.startOf(e, !1)
					}, p.$set = function(i, s) {
						var f, l = _.p(i),
							d = "set" + (this.$u ? "UTC" : ""),
							p = (f = {}, f[o] = d + "Date", f[c] = d + "Date", f[a] = d + "Month", f[
								u] = d + "FullYear", f[r] = d + "Hours", f[n] = d + "Minutes", f[t] =
								d + "Seconds", f[e] = d + "Milliseconds", f)[l],
							h = l === o ? this.$D + (s - this.$W) : s;
						if (l === a || l === u) {
							var g = this.clone().set(c, 1);
							g.$d[p](h), g.init(), this.$d = g.set(c, Math.min(this.$D, g.daysInMonth()))
								.$d
						} else p && this.$d[p](h);
						return this.init(), this
					}, p.set = function(e, t) {
						return this.clone().$set(e, t)
					}, p.get = function(e) {
						return this[_.p(e)]()
					}, p.add = function(e, s) {
						var c, f = this;
						e = Number(e);
						var l = _.p(s),
							d = function(t) {
								var n = b(f);
								return _.w(n.date(n.date() + Math.round(t * e)), f)
							};
						if (l === a) return this.set(a, this.$M + e);
						if (l === u) return this.set(u, this.$y + e);
						if (l === o) return d(1);
						if (l === i) return d(7);
						var p = (c = {}, c[n] = 6e4, c[r] = 36e5, c[t] = 1e3, c)[l] || 1,
							h = this.$d.getTime() + e * p;
						return _.w(h, this)
					}, p.subtract = function(e, t) {
						return this.add(-1 * e, t)
					}, p.format = function(e) {
						var t = this;
						if (!this.isValid()) return "Invalid Date";
						var n = e || "YYYY-MM-DDTHH:mm:ssZ",
							r = _.z(this),
							o = this.$locale(),
							i = this.$H,
							a = this.$m,
							s = this.$M,
							u = o.weekdays,
							c = o.months,
							f = function(e, r, o, i) {
								return e && (e[r] || e(t, n)) || o[r].substr(0, i)
							},
							d = function(e) {
								return _.s(i % 12 || 12, e, "0")
							},
							p = o.meridiem || function(e, t, n) {
								var r = e < 12 ? "AM" : "PM";
								return n ? r.toLowerCase() : r
							},
							h = {
								YY: String(this.$y).slice(-2),
								YYYY: this.$y,
								M: s + 1,
								MM: _.s(s + 1, 2, "0"),
								MMM: f(o.monthsShort, s, c, 3),
								MMMM: f(c, s),
								D: this.$D,
								DD: _.s(this.$D, 2, "0"),
								d: String(this.$W),
								dd: f(o.weekdaysMin, this.$W, u, 2),
								ddd: f(o.weekdaysShort, this.$W, u, 3),
								dddd: u[this.$W],
								H: String(i),
								HH: _.s(i, 2, "0"),
								h: d(1),
								hh: d(2),
								a: p(i, a, !0),
								A: p(i, a, !1),
								m: String(a),
								mm: _.s(a, 2, "0"),
								s: String(this.$s),
								ss: _.s(this.$s, 2, "0"),
								SSS: _.s(this.$ms, 3, "0"),
								Z: r
							};
						return n.replace(l, (function(e, t) {
							return t || h[e] || r.replace(":", "")
						}))
					}, p.utcOffset = function() {
						return 15 * -Math.round(this.$d.getTimezoneOffset() / 15)
					}, p.diff = function(e, c, f) {
						var l, d = _.p(c),
							p = b(e),
							h = 6e4 * (p.utcOffset() - this.utcOffset()),
							g = this - p,
							m = _.m(this, p);
						return m = (l = {}, l[u] = m / 12, l[a] = m, l[s] = m / 3, l[i] = (g - h) /
							6048e5, l[o] = (g - h) / 864e5, l[r] = g / 36e5, l[n] = g / 6e4, l[t] =
							g / 1e3, l)[d] || g, f ? m : _.a(m)
					}, p.daysInMonth = function() {
						return this.endOf(a).$D
					}, p.$locale = function() {
						return m[this.$L]
					}, p.locale = function(e, t) {
						if (!e) return this.$L;
						var n = this.clone(),
							r = y(e, t, !0);
						return r && (n.$L = r), n
					}, p.clone = function() {
						return _.w(this.$d, this)
					}, p.toDate = function() {
						return new Date(this.valueOf())
					}, p.toJSON = function() {
						return this.isValid() ? this.toISOString() : null
					}, p.toISOString = function() {
						return this.$d.toISOString()
					}, p.toString = function() {
						return this.$d.toUTCString()
					}, d
				}(),
				S = w.prototype;
			return b.prototype = S, [
				["$ms", e],
				["$s", t],
				["$m", n],
				["$H", r],
				["$W", o],
				["$M", a],
				["$y", u],
				["$D", c]
			].forEach((function(e) {
				S[e[1]] = function(t) {
					return this.$g(t, e[0], e[1])
				}
			})), b.extend = function(e, t) {
				return e.$i || (e(t, w, b), e.$i = !0), b
			}, b.locale = y, b.isDayjs = v, b.unix = function(e) {
				return b(1e3 * e)
			}, b.en = m[g], b.Ls = m, b.p = {}, b
		}()
	})),
	yr = {
		log: function() {
			for (var e, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
			return Ys.getState().global.debug ? (e = console.log).bind.apply(e, Be([console], Be(["%czim.log\n",
				"color: #43bb88;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t))) : function() {}
		},
		registerText: function() {
			for (var e, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
			return (e = console.log).bind.apply(e, Be([console], Be(["%czim.register\n",
				"color: #108ee9;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t)))
		},
		warn: function() {
			for (var e, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
			return Ys.getState().global.debug ? (e = console.warn).bind.apply(e, Be([console], Be(["zim.warn\n"],
				t))) : function() {}
		},
		error: function() {
			for (var e, t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
			return (e = console.error).bind.apply(e, Be([console], Be(["%czim.error\n",
				"color: #f50;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t)))
		}
	},
	br = -1,
	_r = null,
	wr = function(e, t, n) {
		try {
			var r = "im-4.0-" + e;
			if ([ir["zim-addEventListener"], ir["main-_addEventListener"], ir["main-_closeWs"], ir["main-_wsCoreInit"],
					ir["main-_onClose"], ir["main-_onRevLoginkeep"], ir["main-_onRev"], ir["main-_loginKeep"], ir[
						"main-_sendMessageWatch"], ir["main-_sendMessageTimeOut"], ir["main-_watchMessage"], ir[
						"core-_send"], ir["core-_connect"], ir["core-_onopen"], ir["core-_onmessage"], ir["core-_send"]
				].includes(e)) return;
			var o = Ys.getState().global,
				i = (o.uid, o.runtime.apigw),
				a = "";
			if ("QA" === i && (a = "https://frontlo-collection.qa.foryor-in.com/log.gif"), "TRQA" === i && (a =
					"https://third.y.91jkys.com/log.gif"), "PRE" !== i && "ONLINE" != i || (a =
					"https://frontlo-collection.foryor-in.com/log.gif"), e === ir["zim-setEnv"]) {
				try {
					br = mr()
				} catch (e) {
					br = Sr()
				}
				yr.log("linkid is ", br)(), _r = n
			}
			var s = {
					linkid: br,
					data: Qe(Qe({}, t), {
						name: _r && _r.name
					})
				},
				u = Ir(r, s);
			Br(a, u)
		} catch (e) {
			console.log("埋点发送错误", e)
		}
	},
	Sr = function() {
		return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function(e) {
			var t = 16 * Math.random() | 0;
			return ("x" == e ? t : 3 & t | 8).toString(16)
		}))
	},
	Ir = function(e, t) {
		var n = Ys.getState().global,
			r = n.uid;
		n.runtime;
		return {
			trackKey: "30f51e6dc98cffbe885bf506c9c3c7b5f09e7b820b01c02262ce98e72f416139",
			data: {
				customTime: Date.now(),
				isLogin: !0,
				version: "v1.0.41",
				actionType: "EVENT",
				items: [{
					id: Sr(),
					uid: r,
					trackTime: Date.now(),
					trackId: e,
					custom: t
				}]
			}
		}
	},
	Tr = pe.create({
		baseURL: "",
		timeout: 2e4,
		withCredentials: !0
	});
Tr.interceptors.response.use((function(e) {
	var t;
	return (null === (t = e.config.url) || void 0 === t ? void 0 : t.includes("log.gif")) || wr(ir[
		"api-response"], {
		url: e.config.url,
		method: e.config.method,
		status: e.status
	}), e
}), (function(e) {
	var t;
	if (null === (t = e.config.url) || void 0 === t ? void 0 : t.includes("log.gif")) return e;
	wr(ir["api-response"], e)
})), Tr.interceptors.request.use((function(e) {
	var t, n = Ys.getState().global,
		r = n.runtime,
		o = n.token;
	return "QA" === r.apigw && (e.baseURL = "https://apigw-qa.foryor-in.com"), "TRQA" === r.apigw && (e
		.baseURL = "https://quezhen-pharmacy-h5.foryor-in.com/zy"), "PRE" === r.apigw && (e.baseURL =
		"https://apigw-pre.foryor-in.com"), "ONLINE" === r.apigw && (e.baseURL =
		"https://quezhen-pharmacy-h5.foryor-in.com/wenzhen"), r.env === u.MINIAPP && (e.headers.Token = o), (null === (t = e
		.url) || void 0 === t ? void 0 : t.includes("log.gif")) || wr(ir["api-request"], {
		url: e.url,
		data: e.data,
		method: e.method
	}), e
}), (function(e) {
	return wr(ir["api-request"], e), Promise.reject(e)
}));
var Er = n((function(e, t) {
		e.exports = function(e, t, n) {
			t.prototype.isToday = function() {
				var e = n();
				return this.format("YYYY-MM-DD") === e.format("YYYY-MM-DD")
			}
		}
	})),
	kr = n((function(e, t) {
		e.exports = function(e, t, n) {
			t.prototype.isYesterday = function() {
				var e = n().subtract(1, "day");
				return this.format("YYYY-MM-DD") === e.format("YYYY-MM-DD")
			}
		}
	})),
	Mr = n((function(e, t) {
		e.exports = function(e, t, n) {
			e = e || {};
			var r = t.prototype,
				o = {
					future: "in %s",
					past: "%s ago",
					s: "a few seconds",
					m: "a minute",
					mm: "%d minutes",
					h: "an hour",
					hh: "%d hours",
					d: "a day",
					dd: "%d days",
					M: "a month",
					MM: "%d months",
					y: "a year",
					yy: "%d years"
				};
			n.en.relativeTime = o;
			var i = function(t, r, i, a) {
				for (var s, u, c, f = i.$locale().relativeTime || o, l = e.thresholds || [{
						l: "s",
						r: 44,
						d: "second"
					}, {
						l: "m",
						r: 89
					}, {
						l: "mm",
						r: 44,
						d: "minute"
					}, {
						l: "h",
						r: 89
					}, {
						l: "hh",
						r: 21,
						d: "hour"
					}, {
						l: "d",
						r: 35
					}, {
						l: "dd",
						r: 25,
						d: "day"
					}, {
						l: "M",
						r: 45
					}, {
						l: "MM",
						r: 10,
						d: "month"
					}, {
						l: "y",
						r: 17
					}, {
						l: "yy",
						d: "year"
					}], d = l.length, p = 0; p < d; p += 1) {
					var h = l[p];
					h.d && (s = a ? n(t).diff(i, h.d, !0) : i.diff(t, h.d, !0));
					var g = (e.rounding || Math.round)(Math.abs(s));
					if (c = s > 0, g <= h.r || !h.r) {
						g <= 1 && p > 0 && (h = l[p - 1]);
						var m = f[h.l];
						u = "string" == typeof m ? m.replace("%d", g) : m(g, r, h.l, c);
						break
					}
				}
				if (r) return u;
				var v = c ? f.future : f.past;
				return "function" == typeof v ? v(u) : v.replace("%s", u)
			};
			r.to = function(e, t) {
				return i(e, t, this, !0)
			}, r.from = function(e, t) {
				return i(e, t, this)
			};
			var a = function(e) {
				return e.$u ? n.utc() : n()
			};
			r.toNow = function(e) {
				return this.to(a(this), e)
			}, r.fromNow = function(e) {
				return this.from(a(this), e)
			}
		}
	})),
	xr = n((function(e, t) {
		e.exports = function(e, t, n) {
			n.updateLocale = function(e, t) {
				var r = n.Ls[e];
				if (r) return (t ? Object.keys(t) : []).forEach((function(e) {
					r[e] = t[e]
				})), r
			}
		}
	})),
	Or = function(e) {
		var t = e.http,
			n = e.env,
			r = e.zone,
			o = e._self,
			i = e.wss,
			a = o.origin,
			s = "" + i + r + "apigw." + n + a + "/api/share-im-center/1.0/im_ws";
		yr.log(s, "wssurl")();
		var u = {
			$drugStoreBaseUrl: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/",
			$drugstoreQueryMessages: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/query_message_list",
			$drugstoreQueryGroupList: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/query_group_by_id",
			getAdvisoryInfo: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/get_advisory_info",
			getWaitConsultationInfo: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/getWaitConsultationInfo",
			getQuestion: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/get_question",
			answerQuestion: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/answer_question",
			queryGroupMessages: "" + t + r + "apigw." + n + a + "/api/share-im-center/1.0/queryGroupMessages",
			$drugstoreSendMessage: "" + t + r + "apigw." + n + a + "/api/share-im-center/1.0/sendMessage",
			$commonApiBaseUrl: "" + t + r + "apigw." + n + a + "/api/drugstore/1.0/",
			$commonApiQueryMessages: "" + t + r + "apigw." + n + a + "/api/zy-operate-call/1.0/get_messages",
			$commonApiQueryGroupList: "" + t + r + "apigw." + n + a +
				"/api/zy-operate-call/1.0/query_store_session_list",
			$commonApiModeIsQueryAndGetGroupList: "" + t + r + "apigw." + n + a +
				"/api/zy-operate-call/1.0/query_store_session_list",
			$commonApiQueryGroupInfo: "" + t + r + "apigw." + n + a +
				"/api/zy-operate-call/1.0/get_group_info_detail",
			$imageUpload: "" + t + r + "apigw." + n + a + "/api/file/1.0/h5_upload",
			$multipartUpload: "" + t + r + "apigw." + n + a + "/api/file/1.0/multipartUpload",
			$multipartUploadInit: "" + t + r + "apigw." + n + a + "/api/file/1.0/multipartUploadInit",
			$multipartUploadComplete: "" + t + r + "apigw." + n + a + "/api/file/1.0/completeMultipartUpload"
		};
		return Object.assign({
			wssurl: s
		}, u)
	},
	jr = function(e) {
		var t = e.http,
			n = e.env,
			r = e.zone,
			o = "" + e.wss + r + "apigw." + n + "91jkys.com/api/share-im-center/1.0/im_multiport_ws",
			i = {
				$drugStoreBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/",
				$drugstoreQueryMessages: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_message_list",
				$drugstoreQueryGroupList: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_group_list",
				$drugstoreQueryGroupInfo: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_group_by_id",
				$drugstoreUploadFile: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/h5_upload",
				getAdvisoryInfo: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/get_advisory_info_zy",
				getWaitConsultationInfo: "" + t + r + "apigw." + n +
					"foryor-in.com/api/drugstore/1.0/getWaitConsultationInfo",
				getQuestion: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/get_question_zy",
				answerQuestion: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/answer_question_zy",
				queryGroupMessages: "" + t + r + "apigw." + n + "foryor-in.com/api/share-im-center/1.0/queryGroupMessages",
				$drugstoreSendMessage: "" + t + r + "apigw." + n + "foryor-in.com/api/share-im-center/1.0/sendMessage",
				$commonApiBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/",
				$commonApiQueryMessages: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_message_list",
				$commonApiQueryGroupList: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_group_list",
				$commonApiQueryGroupInfo: "" + t + r + "apigw." + n + "foryor-in.com/api/drugstore/1.0/query_group_by_id",
				$imageUpload: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/h5_upload"
			};
		return e._self.name === f.drugPlatform ? Object.assign({
			wssurl: o
		}, i) : i
	},
	Ar = function(e) {
		var t = Ys.getState().global.runtime,
			n = e.env,
			r = e.zone,
			o = e.wss,
			i = e._self,
			a = "" + o + r + "apigw." + n + "91jkys.com/api/share-im-center/1.0/im_multiport_ws",
			s = "https://quezhen-pharmacy-h5.foryor-in.com/wenzhen";
		"TRQA" === t.apigw ? (a = o + "third.y.91jkys.com/api/share-im-center/1.0/im_multiport_ws", s =
			"https://quezhen-pharmacy-h5.foryor-in.com/zy") : "QA" === t.apigw && (s = "https://apigw-qa.foryor-in.com"), console.log(a);
		var u = {
			$drugStoreBaseUrl: "/api/drugstore/1.0/",
			$drugstoreQueryMessages: "/api/drugstore/1.0/query_message_list",
			$drugstoreQueryGroupList: "/api/drugstore/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "/api/drugstore/1.0/query_group_by_id",
			$drugstoreUploadFile: "/api/file/1.0/h5_upload",
			getAdvisoryInfo: "/api/drugstore/1.0/get_advisory_info_zy",
			getWaitConsultationInfo: "/api/drugstore/1.0/getWaitConsultationInfo",
			getQuestion: "/api/drugstore/1.0/get_question_zy",
			answerQuestion: "/api/drugstore/1.0/answer_question_zy",
			queryGroupMessages: "/api/share-im-center/1.0/queryGroupMessages",
			$drugstoreSendMessage: "/api/share-im-center/1.0/sendMessage",
			$commonApiBaseUrl: "/api/drugstore/1.0/",
			$commonApiQueryMessages: "/api/drugstore/1.0/query_message_list",
			$commonApiQueryGroupList: "/api/drugstore/1.0/query_group_list",
			$commonApiQueryGroupInfo: "/api/drugstore/1.0/query_group_by_id",
			$imageUpload: "/api/file/1.0/h5_upload",
			$getVideoPrescriptionInfo: "/api/drugstore/1.0/get_third_video_prescription_info",
			$apipre: s
		};
		return i.name === f.drugSaasTr ? Object.assign({
			wssurl: a
		}, u) : u
	},
	Nr = function(e) {
		var t = e.http,
			n = e.env,
			r = e.zone;
		return {
			$operateQueryBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/",
			$operateQueryMessages: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_message_list",
			$operateQueryGroupList: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_group_list",
			$operateQueryGroupInfo: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/",
			$commonApiQueryMessages: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiCallUdesk: "" + t + r + "apigw." + n +
				"foryor-in.com/api/share-im-center/1.0/createChatGroupBySceneAuth",
			$imageUpload: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/h5_upload",
			$multipartUpload: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/multipartUpload",
			$multipartUploadInit: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/multipartUploadInit",
			$multipartUploadComplete: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/completeMultipartUpload"
		}
	},
	Cr = function(e) {
		var t = e.http,
			n = e.env,
			r = e.zone;
		return {
			$operateQueryBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/",
			$operateQueryMessages: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_message_list",
			$operateQueryGroupList: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_group_list",
			$operateQueryGroupInfo: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiBaseUrl: "" + t + r + "apigw." + n + "foryor-in.com/api/composite-portal/1.0/",
			$commonApiQueryMessages: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$imageUpload: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/h5_upload"
		}
	},
	Dr = function(e) {
		var t = e.http,
			n = e.env,
			r = e.zone;
		return {
			$drugstoreQueryMessages: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_message_list",
			$drugstoreQueryGroupList: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_by_id",
			$drugstoreUploadFile: "" + t + r + "apigw." + n + "foryor-in.com/api/file/1.0/upload",
			getAdvisoryInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/get_advisory_info",
			getWaitConsultationInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/getWaitConsultationInfo",
			getQuestion: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/get_question",
			answerQuestion: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/answer_question",
			$commonApiQueryMessages: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_by_id",
			$openplatformLogin: "" + t + r + "apigw." + n +
				"foryor-in.com/api/open-platform-auth-login/1.0.0/open-login-without-cookie",
			$imageUpload: "" + t + r + "apigw." + n +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/upload_file",
			wssurl: "" + e.wss + r + "apigw." + n +
				"91jkys.com/api/open-platform-auth-login/1.0.0/auth-message?partnerToken=" + Ys.getState().global.token
		}
	};
vr.extend(xr), vr.extend(kr);
var Lr = {
	thresholds: [{
		l: "s",
		r: 1
	}, {
		l: "m",
		r: 1
	}, {
		l: "mm",
		r: 60,
		d: "minute"
	}, {
		l: "h",
		r: 1
	}, {
		l: "hh",
		r: 24,
		d: "hour"
	}, {
		l: "d",
		r: 1
	}, {
		l: "dd",
		r: 30,
		d: "day"
	}, {
		l: "M",
		r: 1
	}, {
		l: "MM",
		r: 12,
		d: "month"
	}, {
		l: "y"
	}, {
		l: "yy",
		d: "year"
	}],
	rounding: Math.floor
};
vr.extend(Mr, Lr), vr.extend(Er), vr.updateLocale("en", {
	relativeTime: {
		future: "%s",
		past: "%s前",
		s: "1秒",
		m: "1分钟",
		mm: "%d分钟",
		h: "1小时",
		hh: "%d小时",
		d: "1天",
		dd: "%d天",
		M: "1月",
		MM: "%d月",
		y: "1年",
		yy: "%d年"
	}
});
var Rr = function(e, t, n) {
		var r, o = Pr(t),
			i = o.wss,
			s = o.http,
			u = qr(e),
			c = e === a.ONLINE ? s + "frontlo-collection." + u + "foryor-in.com/f2e/log.gif" : s +
			"frontlo-collection.qa.foryor-in.com/f2e/log.gif",
			l = n.name,
			d = (r = {
				name: l,
				http: s,
				env: u,
				zone: n.zone,
				wss: i,
				_self: n
			}).name === f.operate ? Nr(r) : r.name === f.drugSaas || r.name === f.drugDoctor || r.name === f
			.drugPlatform ? jr(r) : r.name === f.openPlatform ? Dr(r) : r.name === f.b2b ? Or(r) : r.name === f
			.operate_phm ? Cr(r) : r.name === f.drugSaasTr ? Ar(r) : void 0,
			p = {
				wssurl: "" + i + n.zone + "apigw." + u + "91jkys/api/share-im-center/1.0/im_ws",
				http: "" + s,
				$telescope: c
			};
		return Object.assign(p, Qe({}, d))
	},
	qr = function(e) {
		var t = "";
		return e === a.QA && (t = "qa."), e === a.PRE && (t = "pre."), e === a.ONLINE && (t = ""), t
	},
	Pr = function(e) {
		return void 0 === e && (e = !1), e ? {
			wss: s.WS,
			http: s.HTTP
		} : {
			wss: s.WSS,
			http: s.HTTPS
		}
	};

function $r(e) {
	var t = e.body,
		n = e.createTime,
		r = e.messageType,
		o = e.sender,
		i = e.group;
	if (e.feature) {
		var a = JSON.parse(e.feature);
		a.fromAvatar && (o.userAvatar = a.fromAvatar), a.fromNickName && (o.userName = a.fromNickName), a
			.sourceDoctorUid && (o.userId = a.sourceDoctorUid)
	}
	var s = {
		feature: e.feature,
		clientMsgId: e.clientMsgId,
		createDate: n,
		serverMsgId: e.serverMsgId,
		sentStatus: c.SendSuccess,
		owner: o,
		group: {
			groupId: i.groupId,
			bizId: i.bizId,
			groupName: i.groupName,
			avatar: i.groupAvatar,
			doctorId: i.doctorId,
			patientId: i.patientId,
			title: i.groupTitle,
			type: parseInt(i.groupType),
			toId: i.toId,
			lastMessage: i.lastMessage,
			unReadCount: i.unReadCount
		},
		messageInfo: {
			body: JSON.parse(t),
			type: r
		}
	};
	if ("Image" == r) {
		var u = s.messageInfo.body.fileUrl,
			f = s.messageInfo.body.thumbnail;
		/^https?:\/\//i.test(u) || (s.messageInfo.body.fileUrl = "http://static.qa.foryor-in.com" + u, s.messageInfo.body
			.thumbnail = "http://static.qa.foryor-in.com" + f)
	}
	return s
}
var zr = function(e) {
		return Ue(void 0, void 0, void 0, (function() {
			return Fe(this, (function(t) {
				return [2, Tr.get(e + "?_t=" + Date.now(), {
					withCredentials: !1
				})]
			}))
		}))
	},
	Qr = function(e) {
		return Ue(void 0, void 0, void 0, (function() {
			var t, n, r, o, i;
			return Fe(this, (function(a) {
				return t = Ys.getState().global, n = t.api, r = t.uid, o = n
					.$commonApiQueryMessages, i = Qe({
						receiverUId: r
					}, e), [2, new Promise((function(e, t) {
						Tr.post(o, i).then((function(t) {
							var n;
							if (!0 === (null === (n = null == t ?
										void 0 : t.data) || void 0 ===
									n ? void 0 : n.ok)) {
								var r = (t.data.result.data || []).map((
									function(e) {
										return $r(e)
									})).sort((function(e, t) {
									return e.createDate - t
										.createDate || e
										.serverMsgId - t
										.serverMsgId
								}));
								t.data.result.data = r
							}
							e(t)
						})).catch((function(e) {
							t(e)
						}))
					}))]
			}))
		}))
	},
	Ur = function(e) {
		return Ue(void 0, void 0, void 0, (function() {
			var t, n, r, o;
			return Fe(this, (function(i) {
				return t = Ys.getState().global, n = t.api, r = n.$commonApiQueryGroupList, o =
					Qe({}, e), [2, Tr.post(r, o)]
			}))
		}))
	},
	Fr = function(e) {
		return Ue(void 0, void 0, void 0, (function() {
			var t, n, r, o;
			return Fe(this, (function(i) {
				return t = Ys.getState().global, n = t.api, r = n
					.$commonApiModeIsQueryAndGetGroupList, o = Qe({}, e), [2, Tr.post(r, o)]
			}))
		}))
	},
	Br = function(e, t) {
		return Ue(void 0, void 0, void 0, (function() {
			return Fe(this, (function(n) {
				return [2, new Promise((function(n, r) {
					Tr.post(e, t).then((function(e) {
						n(e)
					})).catch((function(e) {
						r(e)
					}))
				}))]
			}))
		}))
	},
	Gr = function(e) {
		return {
			type: we,
			value: e
		}
	};
var Hr = function(e, t) {
	for (var n = -1, r = null == e ? 0 : e.length, o = 0, i = []; ++n < r;) {
		var a = e[n];
		t(a, n, e) && (i[o++] = a)
	}
	return i
};
var Wr = function(e) {
		return function(t, n, r) {
			for (var o = -1, i = Object(t), a = r(t), s = a.length; s--;) {
				var u = a[e ? s : ++o];
				if (!1 === n(i[u], u, i)) break
			}
			return t
		}
	},
	Vr = Wr();
var Yr = function(e, t) {
		for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);
		return r
	},
	Kr = "object" == typeof e && e && e.Object === Object && e,
	Jr = "object" == typeof self && self && self.Object === Object && self,
	Xr = Kr || Jr || Function("return this")(),
	Zr = Xr.Symbol,
	eo = Object.prototype,
	to = eo.hasOwnProperty,
	no = eo.toString,
	ro = Zr ? Zr.toStringTag : void 0;
var oo = function(e) {
		var t = to.call(e, ro),
			n = e[ro];
		try {
			e[ro] = void 0;
			var r = !0
		} catch (e) {}
		var o = no.call(e);
		return r && (t ? e[ro] = n : delete e[ro]), o
	},
	io = Object.prototype.toString;
var ao = function(e) {
		return io.call(e)
	},
	so = Zr ? Zr.toStringTag : void 0;
var uo = function(e) {
	return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : so && so in Object(e) ? oo(e) : ao(e)
};
var co = function(e) {
	return null != e && "object" == typeof e
};
var fo = function(e) {
		return co(e) && "[object Arguments]" == uo(e)
	},
	lo = Object.prototype,
	po = lo.hasOwnProperty,
	ho = lo.propertyIsEnumerable,
	go = fo(function() {
		return arguments
	}()) ? fo : function(e) {
		return co(e) && po.call(e, "callee") && !ho.call(e, "callee")
	},
	mo = Array.isArray;
var vo = function() {
		return !1
	},
	yo = n((function(e, t) {
		var n = t && !t.nodeType && t,
			r = n && e && !e.nodeType && e,
			o = r && r.exports === n ? Xr.Buffer : void 0,
			i = (o ? o.isBuffer : void 0) || vo;
		e.exports = i
	})),
	bo = /^(?:0|[1-9]\d*)$/;
var _o = function(e, t) {
	var n = typeof e;
	return !!(t = null == t ? 9007199254740991 : t) && ("number" == n || "symbol" != n && bo.test(e)) && e > -1 &&
		e % 1 == 0 && e < t
};
var wo = function(e) {
		return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991
	},
	So = {};
So["[object Float32Array]"] = So["[object Float64Array]"] = So["[object Int8Array]"] = So["[object Int16Array]"] = So[
		"[object Int32Array]"] = So["[object Uint8Array]"] = So["[object Uint8ClampedArray]"] = So[
		"[object Uint16Array]"] = So["[object Uint32Array]"] = !0, So["[object Arguments]"] = So["[object Array]"] = So[
		"[object ArrayBuffer]"] = So["[object Boolean]"] = So["[object DataView]"] = So["[object Date]"] = So[
		"[object Error]"] = So["[object Function]"] = So["[object Map]"] = So["[object Number]"] = So[
	"[object Object]"] = So["[object RegExp]"] = So["[object Set]"] = So["[object String]"] = So["[object WeakMap]"] = !
	1;
var Io = function(e) {
	return co(e) && wo(e.length) && !!So[uo(e)]
};
var To = function(e) {
		return function(t) {
			return e(t)
		}
	},
	Eo = n((function(e, t) {
		var n = t && !t.nodeType && t,
			r = n && e && !e.nodeType && e,
			o = r && r.exports === n && Kr.process,
			i = function() {
				try {
					var e = r && r.require && r.require("util").types;
					return e || o && o.binding && o.binding("util")
				} catch (e) {}
			}();
		e.exports = i
	})),
	ko = Eo && Eo.isTypedArray,
	Mo = ko ? To(ko) : Io,
	xo = Object.prototype.hasOwnProperty;
var Oo = function(e, t) {
		var n = mo(e),
			r = !n && go(e),
			o = !n && !r && yo(e),
			i = !n && !r && !o && Mo(e),
			a = n || r || o || i,
			s = a ? Yr(e.length, String) : [],
			u = s.length;
		for (var c in e) !t && !xo.call(e, c) || a && ("length" == c || o && ("offset" == c || "parent" == c) || i && (
			"buffer" == c || "byteLength" == c || "byteOffset" == c) || _o(c, u)) || s.push(c);
		return s
	},
	jo = Object.prototype;
var Ao = function(e) {
	var t = e && e.constructor;
	return e === ("function" == typeof t && t.prototype || jo)
};
var No = function(e, t) {
		return function(n) {
			return e(t(n))
		}
	},
	Co = No(Object.keys, Object),
	Do = Object.prototype.hasOwnProperty;
var Lo = function(e) {
	if (!Ao(e)) return Co(e);
	var t = [];
	for (var n in Object(e)) Do.call(e, n) && "constructor" != n && t.push(n);
	return t
};
var Ro = function(e) {
	var t = typeof e;
	return null != e && ("object" == t || "function" == t)
};
var qo = function(e) {
	if (!Ro(e)) return !1;
	var t = uo(e);
	return "[object Function]" == t || "[object GeneratorFunction]" == t || "[object AsyncFunction]" == t ||
		"[object Proxy]" == t
};
var Po = function(e) {
	return null != e && wo(e.length) && !qo(e)
};
var $o = function(e) {
	return Po(e) ? Oo(e) : Lo(e)
};
var zo = function(e, t) {
	return e && Vr(e, t, $o)
};
var Qo = function(e, t) {
	return function(n, r) {
		if (null == n) return n;
		if (!Po(n)) return e(n, r);
		for (var o = n.length, i = t ? o : -1, a = Object(n);
			(t ? i-- : ++i < o) && !1 !== r(a[i], i, a););
		return n
	}
}(zo);
var Uo = function(e, t) {
	var n = [];
	return Qo(e, (function(e, r, o) {
		t(e, r, o) && n.push(e)
	})), n
};
var Fo = function() {
	this.__data__ = [], this.size = 0
};
var Bo = function(e, t) {
	return e === t || e != e && t != t
};
var Go = function(e, t) {
		for (var n = e.length; n--;)
			if (Bo(e[n][0], t)) return n;
		return -1
	},
	Ho = Array.prototype.splice;
var Wo = function(e) {
	var t = this.__data__,
		n = Go(t, e);
	return !(n < 0) && (n == t.length - 1 ? t.pop() : Ho.call(t, n, 1), --this.size, !0)
};
var Vo = function(e) {
	var t = this.__data__,
		n = Go(t, e);
	return n < 0 ? void 0 : t[n][1]
};
var Yo = function(e) {
	return Go(this.__data__, e) > -1
};
var Ko = function(e, t) {
	var n = this.__data__,
		r = Go(n, e);
	return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this
};

function Jo(e) {
	var t = -1,
		n = null == e ? 0 : e.length;
	for (this.clear(); ++t < n;) {
		var r = e[t];
		this.set(r[0], r[1])
	}
}
Jo.prototype.clear = Fo, Jo.prototype.delete = Wo, Jo.prototype.get = Vo, Jo.prototype.has = Yo, Jo.prototype.set = Ko;
var Xo = Jo;
var Zo = function() {
	this.__data__ = new Xo, this.size = 0
};
var ei = function(e) {
	var t = this.__data__,
		n = t.delete(e);
	return this.size = t.size, n
};
var ti = function(e) {
	return this.__data__.get(e)
};
var ni, ri = function(e) {
		return this.__data__.has(e)
	},
	oi = Xr["__core-js_shared__"],
	ii = (ni = /[^.]+$/.exec(oi && oi.keys && oi.keys.IE_PROTO || "")) ? "Symbol(src)_1." + ni : "";
var ai = function(e) {
		return !!ii && ii in e
	},
	si = Function.prototype.toString;
var ui = function(e) {
		if (null != e) {
			try {
				return si.call(e)
			} catch (e) {}
			try {
				return e + ""
			} catch (e) {}
		}
		return ""
	},
	ci = /^\[object .+?Constructor\]$/,
	fi = Function.prototype,
	li = Object.prototype,
	di = fi.toString,
	pi = li.hasOwnProperty,
	hi = RegExp("^" + di.call(pi).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(
		/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
var gi = function(e) {
	return !(!Ro(e) || ai(e)) && (qo(e) ? hi : ci).test(ui(e))
};
var mi = function(e, t) {
	return null == e ? void 0 : e[t]
};
var vi = function(e, t) {
		var n = mi(e, t);
		return gi(n) ? n : void 0
	},
	yi = vi(Xr, "Map"),
	bi = vi(Object, "create");
var _i = function() {
	this.__data__ = bi ? bi(null) : {}, this.size = 0
};
var wi = function(e) {
		var t = this.has(e) && delete this.__data__[e];
		return this.size -= t ? 1 : 0, t
	},
	Si = Object.prototype.hasOwnProperty;
var Ii = function(e) {
		var t = this.__data__;
		if (bi) {
			var n = t[e];
			return "__lodash_hash_undefined__" === n ? void 0 : n
		}
		return Si.call(t, e) ? t[e] : void 0
	},
	Ti = Object.prototype.hasOwnProperty;
var Ei = function(e) {
	var t = this.__data__;
	return bi ? void 0 !== t[e] : Ti.call(t, e)
};
var ki = function(e, t) {
	var n = this.__data__;
	return this.size += this.has(e) ? 0 : 1, n[e] = bi && void 0 === t ? "__lodash_hash_undefined__" : t, this
};

function Mi(e) {
	var t = -1,
		n = null == e ? 0 : e.length;
	for (this.clear(); ++t < n;) {
		var r = e[t];
		this.set(r[0], r[1])
	}
}
Mi.prototype.clear = _i, Mi.prototype.delete = wi, Mi.prototype.get = Ii, Mi.prototype.has = Ei, Mi.prototype.set = ki;
var xi = Mi;
var Oi = function() {
	this.size = 0, this.__data__ = {
		hash: new xi,
		map: new(yi || Xo),
		string: new xi
	}
};
var ji = function(e) {
	var t = typeof e;
	return "string" == t || "number" == t || "symbol" == t || "boolean" == t ? "__proto__" !== e : null === e
};
var Ai = function(e, t) {
	var n = e.__data__;
	return ji(t) ? n["string" == typeof t ? "string" : "hash"] : n.map
};
var Ni = function(e) {
	var t = Ai(this, e).delete(e);
	return this.size -= t ? 1 : 0, t
};
var Ci = function(e) {
	return Ai(this, e).get(e)
};
var Di = function(e) {
	return Ai(this, e).has(e)
};
var Li = function(e, t) {
	var n = Ai(this, e),
		r = n.size;
	return n.set(e, t), this.size += n.size == r ? 0 : 1, this
};

function Ri(e) {
	var t = -1,
		n = null == e ? 0 : e.length;
	for (this.clear(); ++t < n;) {
		var r = e[t];
		this.set(r[0], r[1])
	}
}
Ri.prototype.clear = Oi, Ri.prototype.delete = Ni, Ri.prototype.get = Ci, Ri.prototype.has = Di, Ri.prototype.set = Li;
var qi = Ri;
var Pi = function(e, t) {
	var n = this.__data__;
	if (n instanceof Xo) {
		var r = n.__data__;
		if (!yi || r.length < 199) return r.push([e, t]), this.size = ++n.size, this;
		n = this.__data__ = new qi(r)
	}
	return n.set(e, t), this.size = n.size, this
};

function $i(e) {
	var t = this.__data__ = new Xo(e);
	this.size = t.size
}
$i.prototype.clear = Zo, $i.prototype.delete = ei, $i.prototype.get = ti, $i.prototype.has = ri, $i.prototype.set = Pi;
var zi = $i;
var Qi = function(e) {
	return this.__data__.set(e, "__lodash_hash_undefined__"), this
};
var Ui = function(e) {
	return this.__data__.has(e)
};

function Fi(e) {
	var t = -1,
		n = null == e ? 0 : e.length;
	for (this.__data__ = new qi; ++t < n;) this.add(e[t])
}
Fi.prototype.add = Fi.prototype.push = Qi, Fi.prototype.has = Ui;
var Bi = Fi;
var Gi = function(e, t) {
	for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)
		if (t(e[n], n, e)) return !0;
	return !1
};
var Hi = function(e, t) {
	return e.has(t)
};
var Wi = function(e, t, n, r, o, i) {
		var a = 1 & n,
			s = e.length,
			u = t.length;
		if (s != u && !(a && u > s)) return !1;
		var c = i.get(e),
			f = i.get(t);
		if (c && f) return c == t && f == e;
		var l = -1,
			d = !0,
			p = 2 & n ? new Bi : void 0;
		for (i.set(e, t), i.set(t, e); ++l < s;) {
			var h = e[l],
				g = t[l];
			if (r) var m = a ? r(g, h, l, t, e, i) : r(h, g, l, e, t, i);
			if (void 0 !== m) {
				if (m) continue;
				d = !1;
				break
			}
			if (p) {
				if (!Gi(t, (function(e, t) {
						if (!Hi(p, t) && (h === e || o(h, e, n, r, i))) return p.push(t)
					}))) {
					d = !1;
					break
				}
			} else if (h !== g && !o(h, g, n, r, i)) {
				d = !1;
				break
			}
		}
		return i.delete(e), i.delete(t), d
	},
	Vi = Xr.Uint8Array;
var Yi = function(e) {
	var t = -1,
		n = Array(e.size);
	return e.forEach((function(e, r) {
		n[++t] = [r, e]
	})), n
};
var Ki = function(e) {
		var t = -1,
			n = Array(e.size);
		return e.forEach((function(e) {
			n[++t] = e
		})), n
	},
	Ji = Zr ? Zr.prototype : void 0,
	Xi = Ji ? Ji.valueOf : void 0;
var Zi = function(e, t, n, r, o, i, a) {
	switch (n) {
		case "[object DataView]":
			if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;
			e = e.buffer, t = t.buffer;
		case "[object ArrayBuffer]":
			return !(e.byteLength != t.byteLength || !i(new Vi(e), new Vi(t)));
		case "[object Boolean]":
		case "[object Date]":
		case "[object Number]":
			return Bo(+e, +t);
		case "[object Error]":
			return e.name == t.name && e.message == t.message;
		case "[object RegExp]":
		case "[object String]":
			return e == t + "";
		case "[object Map]":
			var s = Yi;
		case "[object Set]":
			var u = 1 & r;
			if (s || (s = Ki), e.size != t.size && !u) return !1;
			var c = a.get(e);
			if (c) return c == t;
			r |= 2, a.set(e, t);
			var f = Wi(s(e), s(t), r, o, i, a);
			return a.delete(e), f;
		case "[object Symbol]":
			if (Xi) return Xi.call(e) == Xi.call(t)
	}
	return !1
};
var ea = function(e, t) {
	for (var n = -1, r = t.length, o = e.length; ++n < r;) e[o + n] = t[n];
	return e
};
var ta = function(e, t, n) {
	var r = t(e);
	return mo(e) ? r : ea(r, n(e))
};
var na = function() {
		return []
	},
	ra = Object.prototype.propertyIsEnumerable,
	oa = Object.getOwnPropertySymbols,
	ia = oa ? function(e) {
		return null == e ? [] : (e = Object(e), Hr(oa(e), (function(t) {
			return ra.call(e, t)
		})))
	} : na,
	aa = ia;
var sa = function(e) {
		return ta(e, $o, aa)
	},
	ua = Object.prototype.hasOwnProperty;
var ca = function(e, t, n, r, o, i) {
		var a = 1 & n,
			s = sa(e),
			u = s.length;
		if (u != sa(t).length && !a) return !1;
		for (var c = u; c--;) {
			var f = s[c];
			if (!(a ? f in t : ua.call(t, f))) return !1
		}
		var l = i.get(e),
			d = i.get(t);
		if (l && d) return l == t && d == e;
		var p = !0;
		i.set(e, t), i.set(t, e);
		for (var h = a; ++c < u;) {
			var g = e[f = s[c]],
				m = t[f];
			if (r) var v = a ? r(m, g, f, t, e, i) : r(g, m, f, e, t, i);
			if (!(void 0 === v ? g === m || o(g, m, n, r, i) : v)) {
				p = !1;
				break
			}
			h || (h = "constructor" == f)
		}
		if (p && !h) {
			var y = e.constructor,
				b = t.constructor;
			y == b || !("constructor" in e) || !("constructor" in t) || "function" == typeof y && y instanceof y &&
				"function" == typeof b && b instanceof b || (p = !1)
		}
		return i.delete(e), i.delete(t), p
	},
	fa = vi(Xr, "DataView"),
	la = vi(Xr, "Promise"),
	da = vi(Xr, "Set"),
	pa = vi(Xr, "WeakMap"),
	ha = "[object Map]",
	ga = "[object Promise]",
	ma = "[object Set]",
	va = "[object WeakMap]",
	ya = "[object DataView]",
	ba = ui(fa),
	_a = ui(yi),
	wa = ui(la),
	Sa = ui(da),
	Ia = ui(pa),
	Ta = uo;
(fa && Ta(new fa(new ArrayBuffer(1))) != ya || yi && Ta(new yi) != ha || la && Ta(la.resolve()) != ga || da && Ta(
	new da) != ma || pa && Ta(new pa) != va) && (Ta = function(e) {
	var t = uo(e),
		n = "[object Object]" == t ? e.constructor : void 0,
		r = n ? ui(n) : "";
	if (r) switch (r) {
		case ba:
			return ya;
		case _a:
			return ha;
		case wa:
			return ga;
		case Sa:
			return ma;
		case Ia:
			return va
	}
	return t
});
var Ea = Ta,
	ka = "[object Arguments]",
	Ma = "[object Array]",
	xa = "[object Object]",
	Oa = Object.prototype.hasOwnProperty;
var ja = function(e, t, n, r, o, i) {
	var a = mo(e),
		s = mo(t),
		u = a ? Ma : Ea(e),
		c = s ? Ma : Ea(t),
		f = (u = u == ka ? xa : u) == xa,
		l = (c = c == ka ? xa : c) == xa,
		d = u == c;
	if (d && yo(e)) {
		if (!yo(t)) return !1;
		a = !0, f = !1
	}
	if (d && !f) return i || (i = new zi), a || Mo(e) ? Wi(e, t, n, r, o, i) : Zi(e, t, u, n, r, o, i);
	if (!(1 & n)) {
		var p = f && Oa.call(e, "__wrapped__"),
			h = l && Oa.call(t, "__wrapped__");
		if (p || h) {
			var g = p ? e.value() : e,
				m = h ? t.value() : t;
			return i || (i = new zi), o(g, m, n, r, i)
		}
	}
	return !!d && (i || (i = new zi), ca(e, t, n, r, o, i))
};
var Aa = function e(t, n, r, o, i) {
	return t === n || (null == t || null == n || !co(t) && !co(n) ? t != t && n != n : ja(t, n, r, o, e, i))
};
var Na = function(e, t, n, r) {
	var o = n.length,
		i = o,
		a = !r;
	if (null == e) return !i;
	for (e = Object(e); o--;) {
		var s = n[o];
		if (a && s[2] ? s[1] !== e[s[0]] : !(s[0] in e)) return !1
	}
	for (; ++o < i;) {
		var u = (s = n[o])[0],
			c = e[u],
			f = s[1];
		if (a && s[2]) {
			if (void 0 === c && !(u in e)) return !1
		} else {
			var l = new zi;
			if (r) var d = r(c, f, u, e, t, l);
			if (!(void 0 === d ? Aa(f, c, 3, r, l) : d)) return !1
		}
	}
	return !0
};
var Ca = function(e) {
	return e == e && !Ro(e)
};
var Da = function(e) {
	for (var t = $o(e), n = t.length; n--;) {
		var r = t[n],
			o = e[r];
		t[n] = [r, o, Ca(o)]
	}
	return t
};
var La = function(e, t) {
	return function(n) {
		return null != n && (n[e] === t && (void 0 !== t || e in Object(n)))
	}
};
var Ra = function(e) {
	var t = Da(e);
	return 1 == t.length && t[0][2] ? La(t[0][0], t[0][1]) : function(n) {
		return n === e || Na(n, e, t)
	}
};
var qa = function(e) {
		return "symbol" == typeof e || co(e) && "[object Symbol]" == uo(e)
	},
	Pa = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
	$a = /^\w*$/;
var za = function(e, t) {
	if (mo(e)) return !1;
	var n = typeof e;
	return !("number" != n && "symbol" != n && "boolean" != n && null != e && !qa(e)) || ($a.test(e) || !Pa.test(
		e) || null != t && e in Object(t))
};

function Qa(e, t) {
	if ("function" != typeof e || null != t && "function" != typeof t) throw new TypeError("Expected a function");
	var n = function() {
		var r = arguments,
			o = t ? t.apply(this, r) : r[0],
			i = n.cache;
		if (i.has(o)) return i.get(o);
		var a = e.apply(this, r);
		return n.cache = i.set(o, a) || i, a
	};
	return n.cache = new(Qa.Cache || qi), n
}
Qa.Cache = qi;
var Ua = Qa;
var Fa = function(e) {
		var t = Ua(e, (function(e) {
				return 500 === n.size && n.clear(), e
			})),
			n = t.cache;
		return t
	},
	Ba = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
	Ga = /\\(\\)?/g,
	Ha = Fa((function(e) {
		var t = [];
		return 46 === e.charCodeAt(0) && t.push(""), e.replace(Ba, (function(e, n, r, o) {
			t.push(r ? o.replace(Ga, "$1") : n || e)
		})), t
	})),
	Wa = Ha;
var Va = function(e, t) {
		for (var n = -1, r = null == e ? 0 : e.length, o = Array(r); ++n < r;) o[n] = t(e[n], n, e);
		return o
	},
	Ya = Zr ? Zr.prototype : void 0,
	Ka = Ya ? Ya.toString : void 0;
var Ja = function e(t) {
	if ("string" == typeof t) return t;
	if (mo(t)) return Va(t, e) + "";
	if (qa(t)) return Ka ? Ka.call(t) : "";
	var n = t + "";
	return "0" == n && 1 / t == -1 / 0 ? "-0" : n
};
var Xa = function(e) {
	return null == e ? "" : Ja(e)
};
var Za = function(e, t) {
	return mo(e) ? e : za(e, t) ? [e] : Wa(Xa(e))
};
var es = function(e) {
	if ("string" == typeof e || qa(e)) return e;
	var t = e + "";
	return "0" == t && 1 / e == -1 / 0 ? "-0" : t
};
var ts = function(e, t) {
	for (var n = 0, r = (t = Za(t, e)).length; null != e && n < r;) e = e[es(t[n++])];
	return n && n == r ? e : void 0
};
var ns = function(e, t, n) {
	var r = null == e ? void 0 : ts(e, t);
	return void 0 === r ? n : r
};
var rs = function(e, t) {
	return null != e && t in Object(e)
};
var os = function(e, t, n) {
	for (var r = -1, o = (t = Za(t, e)).length, i = !1; ++r < o;) {
		var a = es(t[r]);
		if (!(i = null != e && n(e, a))) break;
		e = e[a]
	}
	return i || ++r != o ? i : !!(o = null == e ? 0 : e.length) && wo(o) && _o(a, o) && (mo(e) || go(e))
};
var is = function(e, t) {
	return null != e && os(e, t, rs)
};
var as = function(e, t) {
	return za(e) && Ca(t) ? La(es(e), t) : function(n) {
		var r = ns(n, e);
		return void 0 === r && r === t ? is(n, e) : Aa(t, r, 3)
	}
};
var ss = function(e) {
	return e
};
var us = function(e) {
	return function(t) {
		return null == t ? void 0 : t[e]
	}
};
var cs = function(e) {
	return function(t) {
		return ts(t, e)
	}
};
var fs = function(e) {
	return za(e) ? us(es(e)) : cs(e)
};
var ls = function(e) {
	return "function" == typeof e ? e : null == e ? ss : "object" == typeof e ? mo(e) ? as(e[0], e[1]) : Ra(e) : fs(
		e)
};
var ds = function(e, t) {
		return (mo(e) ? Hr : Uo)(e, ls(t))
	},
	ps = function(e) {
		return {
			type: Ee,
			data: e
		}
	},
	hs = function(e) {
		return {
			type: ke,
			data: e
		}
	},
	gs = function(e) {
		return {
			type: je,
			data: e
		}
	},
	ms = function(e) {
		return {
			type: Ae,
			data: e
		}
	},
	vs = function() {
		return {
			type: Oe
		}
	},
	ys = function(e) {
		return {
			type: De,
			data: e
		}
	},
	bs = function(e) {
		return {
			type: Le,
			data: e
		}
	},
	_s = function() {
		return {
			type: Re
		}
	},
	ws = function(e) {
		var t = Ys.getState().global.uid,
			n = e.group.groupId,
			r = Ys.getState().data.groupMessageList;
		if (ds(r, (function(e) {
				return e.groupId == n
			})).length > 0) {
			var o = -1,
				i = (r = r.map((function(r, i) {
					return r.groupId == n && (o = i, r.unReadCount = r.unReadCount + 1, n != Ys.getState()
						.data.groupId && e.owner.userId != t || (r.unReadCount = 0), r.lastMessage = {
							body: {
								text: e.messageInfo.body.text
							},
							clientMsgId: e.clientMsgId,
							createTime: e.createDate,
							feature: e.feature,
							messageType: e.messageInfo.type
						}), r
				}))).splice(o, 1);
			r.unshift.apply(r, i)
		} else r = Be([{
			groupAvatar: e.group.avatar,
			groupId: e.group.groupId,
			groupName: e.group.groupName,
			groupTitle: e.group.title,
			groupType: e.group.type,
			lastMessage: {
				body: e.messageInfo.body,
				clientMsgId: e.clientMsgId,
				createTime: e.createDate,
				feature: e.feature,
				messageType: e.messageInfo.type
			},
			unReadCount: e.group.unReadCount
		}], r);
		return {
			type: qe,
			data: {
				list: r,
				action: "update"
			}
		}
	},
	Ss = "zim.",
	Is = Ss + "onconnect",
	Ts = Ss + "onerror",
	Es = Ss + "onclose",
	ks = Ss + "onmessage",
	Ms = Ss + "onsendmessagefail",
	xs = Ss + "onsendmessagesuccess",
	Os = Ss + "reconnectoutmaxtimes",
	js = Ss + "LoginOut",
	As = Ss + "GetHistory",
	Ns = Ss + "GetGroupList",
	Cs = Ss + "USER_SPEAK_STATUS",
	Ds = Ss + "CUSTOM_BUSINESS",
	Ls = Ss + "ReadCompensate",
	Rs = Ss + "NotifyOtherClient",
	qs = n((function(n, r) {
		/*!
		    localForage -- Offline Storage, Improved
		    Version 1.9.0
		    https://localforage.github.io/localForage
		    (c) 2013-2017 Mozilla, Apache License 2.0
		*/
		n.exports = function e(n, r, o) {
			function i(s, u) {
				if (!r[s]) {
					if (!n[s]) {
						if (!u && t) return t();
						if (a) return a(s, !0);
						var c = new Error("Cannot find module '" + s + "'");
						throw c.code = "MODULE_NOT_FOUND", c
					}
					var f = r[s] = {
						exports: {}
					};
					n[s][0].call(f.exports, (function(e) {
						var t = n[s][1][e];
						return i(t || e)
					}), f, f.exports, e, n, r, o)
				}
				return r[s].exports
			}
			for (var a = t, s = 0; s < o.length; s++) i(o[s]);
			return i
		}({
			1: [function(t, n, r) {
				(function(e) {
					var t, r, o = e.MutationObserver || e.WebKitMutationObserver;
					if (o) {
						var i = 0,
							a = new o(f),
							s = e.document.createTextNode("");
						a.observe(s, {
							characterData: !0
						}), t = function() {
							s.data = i = ++i % 2
						}
					} else if (e.setImmediate || void 0 === e.MessageChannel) t =
						"document" in e && "onreadystatechange" in e.document.createElement(
							"script") ? function() {
							var t = e.document.createElement("script");
							t.onreadystatechange = function() {
								f(), t.onreadystatechange = null, t.parentNode
									.removeChild(t), t = null
							}, e.document.documentElement.appendChild(t)
						} : function() {
							setTimeout(f, 0)
						};
					else {
						var u = new e.MessageChannel;
						u.port1.onmessage = f, t = function() {
							u.port2.postMessage(0)
						}
					}
					var c = [];

					function f() {
						var e, t;
						r = !0;
						for (var n = c.length; n;) {
							for (t = c, c = [], e = -1; ++e < n;) t[e]();
							n = c.length
						}
						r = !1
					}

					function l(e) {
						1 !== c.push(e) || r || t()
					}
					n.exports = l
				}).call(this, void 0 !== e ? e : "undefined" != typeof self ? self :
					"undefined" != typeof window ? window : {})
			}, {}],
			2: [function(e, t, n) {
				var r = e(1);

				function o() {}
				var i = {},
					a = ["REJECTED"],
					s = ["FULFILLED"],
					u = ["PENDING"];

				function c(e) {
					if ("function" != typeof e) throw new TypeError(
						"resolver must be a function");
					this.state = u, this.queue = [], this.outcome = void 0, e !== o && p(this,
						e)
				}

				function f(e, t, n) {
					this.promise = e, "function" == typeof t && (this.onFulfilled = t, this
							.callFulfilled = this.otherCallFulfilled), "function" == typeof n &&
						(this.onRejected = n, this.callRejected = this.otherCallRejected)
				}

				function l(e, t, n) {
					r((function() {
						var r;
						try {
							r = t(n)
						} catch (t) {
							return i.reject(e, t)
						}
						r === e ? i.reject(e, new TypeError(
							"Cannot resolve promise with itself")) : i.resolve(
							e, r)
					}))
				}

				function d(e) {
					var t = e && e.then;
					if (e && ("object" == typeof e || "function" == typeof e) && "function" ==
						typeof t) return function() {
						t.apply(e, arguments)
					}
				}

				function p(e, t) {
					var n = !1;

					function r(t) {
						n || (n = !0, i.reject(e, t))
					}

					function o(t) {
						n || (n = !0, i.resolve(e, t))
					}

					function a() {
						t(o, r)
					}
					var s = h(a);
					"error" === s.status && r(s.value)
				}

				function h(e, t) {
					var n = {};
					try {
						n.value = e(t), n.status = "success"
					} catch (e) {
						n.status = "error", n.value = e
					}
					return n
				}

				function g(e) {
					return e instanceof this ? e : i.resolve(new this(o), e)
				}

				function m(e) {
					var t = new this(o);
					return i.reject(t, e)
				}

				function v(e) {
					var t = this;
					if ("[object Array]" !== Object.prototype.toString.call(e)) return this
						.reject(new TypeError("must be an array"));
					var n = e.length,
						r = !1;
					if (!n) return this.resolve([]);
					for (var a = new Array(n), s = 0, u = -1, c = new this(o); ++u < n;) f(e[u],
						u);
					return c;

					function f(e, o) {
						function u(e) {
							a[o] = e, ++s !== n || r || (r = !0, i.resolve(c, a))
						}
						t.resolve(e).then(u, (function(e) {
							r || (r = !0, i.reject(c, e))
						}))
					}
				}

				function y(e) {
					var t = this;
					if ("[object Array]" !== Object.prototype.toString.call(e)) return this
						.reject(new TypeError("must be an array"));
					var n = e.length,
						r = !1;
					if (!n) return this.resolve([]);
					for (var a = -1, s = new this(o); ++a < n;) u(e[a]);
					return s;

					function u(e) {
						t.resolve(e).then((function(e) {
							r || (r = !0, i.resolve(s, e))
						}), (function(e) {
							r || (r = !0, i.reject(s, e))
						}))
					}
				}
				t.exports = c, c.prototype.catch = function(e) {
					return this.then(null, e)
				}, c.prototype.then = function(e, t) {
					if ("function" != typeof e && this.state === s || "function" !=
						typeof t && this.state === a) return this;
					var n = new this.constructor(o);
					return this.state !== u ? l(n, this.state === s ? e : t, this.outcome) :
						this.queue.push(new f(n, e, t)), n
				}, f.prototype.callFulfilled = function(e) {
					i.resolve(this.promise, e)
				}, f.prototype.otherCallFulfilled = function(e) {
					l(this.promise, this.onFulfilled, e)
				}, f.prototype.callRejected = function(e) {
					i.reject(this.promise, e)
				}, f.prototype.otherCallRejected = function(e) {
					l(this.promise, this.onRejected, e)
				}, i.resolve = function(e, t) {
					var n = h(d, t);
					if ("error" === n.status) return i.reject(e, n.value);
					var r = n.value;
					if (r) p(e, r);
					else {
						e.state = s, e.outcome = t;
						for (var o = -1, a = e.queue.length; ++o < a;) e.queue[o]
							.callFulfilled(t)
					}
					return e
				}, i.reject = function(e, t) {
					e.state = a, e.outcome = t;
					for (var n = -1, r = e.queue.length; ++n < r;) e.queue[n].callRejected(
						t);
					return e
				}, c.resolve = g, c.reject = m, c.all = v, c.race = y
			}, {
				1: 1
			}],
			3: [function(t, n, r) {
				(function(e) {
					"function" != typeof e.Promise && (e.Promise = t(2))
				}).call(this, void 0 !== e ? e : "undefined" != typeof self ? self :
					"undefined" != typeof window ? window : {})
			}, {
				2: 2
			}],
			4: [function(e, t, n) {
				var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
					function(e) {
						return typeof e
					} : function(e) {
						return e && "function" == typeof Symbol && e.constructor === Symbol &&
							e !== Symbol.prototype ? "symbol" : typeof e
					};

				function o(e, t) {
					if (!(e instanceof t)) throw new TypeError(
						"Cannot call a class as a function")
				}

				function i() {
					try {
						if ("undefined" != typeof indexedDB) return indexedDB;
						if ("undefined" != typeof webkitIndexedDB) return webkitIndexedDB;
						if ("undefined" != typeof mozIndexedDB) return mozIndexedDB;
						if ("undefined" != typeof OIndexedDB) return OIndexedDB;
						if ("undefined" != typeof msIndexedDB) return msIndexedDB
					} catch (e) {
						return
					}
				}
				var a = i();

				function s() {
					try {
						if (!a || !a.open) return !1;
						var e = "undefined" != typeof openDatabase &&
							/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/
							.test(navigator.userAgent) && !/BlackBerry/.test(navigator
							.platform),
							t = "function" == typeof fetch && -1 !== fetch.toString().indexOf(
								"[native code");
						return (!e || t) && "undefined" != typeof indexedDB && "undefined" !=
							typeof IDBKeyRange
					} catch (e) {
						return !1
					}
				}

				function u(e, t) {
					e = e || [], t = t || {};
					try {
						return new Blob(e, t)
					} catch (o) {
						if ("TypeError" !== o.name) throw o;
						for (var n = new("undefined" != typeof BlobBuilder ? BlobBuilder :
								"undefined" != typeof MSBlobBuilder ? MSBlobBuilder :
								"undefined" != typeof MozBlobBuilder ? MozBlobBuilder :
								WebKitBlobBuilder), r = 0; r < e.length; r += 1) n.append(e[r]);
						return n.getBlob(t.type)
					}
				}
				"undefined" == typeof Promise && e(3);
				var c = Promise;

				function f(e, t) {
					t && e.then((function(e) {
						t(null, e)
					}), (function(e) {
						t(e)
					}))
				}

				function l(e, t, n) {
					"function" == typeof t && e.then(t), "function" == typeof n && e.catch(n)
				}

				function d(e) {
					return "string" != typeof e && (console.warn(e +
						" used as a key, but it is not a string."), e = String(e)), e
				}

				function p() {
					if (arguments.length && "function" == typeof arguments[arguments.length -
						1]) return arguments[arguments.length - 1]
				}
				var h = "local-forage-detect-blob-support",
					g = void 0,
					m = {},
					v = Object.prototype.toString,
					y = "readonly",
					b = "readwrite";

				function _(e) {
					for (var t = e.length, n = new ArrayBuffer(t), r = new Uint8Array(n), o =
						0; o < t; o++) r[o] = e.charCodeAt(o);
					return n
				}

				function w(e) {
					return new c((function(t) {
						var n = e.transaction(h, b),
							r = u([""]);
						n.objectStore(h).put(r, "key"), n.onabort = function(e) {
							e.preventDefault(), e.stopPropagation(), t(!1)
						}, n.oncomplete = function() {
							var e = navigator.userAgent.match(/Chrome\/(\d+)/),
								n = navigator.userAgent.match(/Edge\//);
							t(n || !e || parseInt(e[1], 10) >= 43)
						}
					})).catch((function() {
						return !1
					}))
				}

				function S(e) {
					return "boolean" == typeof g ? c.resolve(g) : w(e).then((function(e) {
						return g = e
					}))
				}

				function I(e) {
					var t = m[e.name],
						n = {};
					n.promise = new c((function(e, t) {
							n.resolve = e, n.reject = t
						})), t.deferredOperations.push(n), t.dbReady ? t.dbReady = t.dbReady
						.then((function() {
							return n.promise
						})) : t.dbReady = n.promise
				}

				function T(e) {
					var t = m[e.name].deferredOperations.pop();
					if (t) return t.resolve(), t.promise
				}

				function E(e, t) {
					var n = m[e.name].deferredOperations.pop();
					if (n) return n.reject(t), n.promise
				}

				function k(e, t) {
					return new c((function(n, r) {
						if (m[e.name] = m[e.name] || R(), e.db) {
							if (!t) return n(e.db);
							I(e), e.db.close()
						}
						var o = [e.name];
						t && o.push(e.version);
						var i = a.open.apply(a, o);
						t && (i.onupgradeneeded = function(t) {
							var n = i.result;
							try {
								n.createObjectStore(e.storeName), t
									.oldVersion <= 1 && n.createObjectStore(
										h)
							} catch (n) {
								if ("ConstraintError" !== n.name) throw n;
								console.warn('The database "' + e.name +
									'" has been upgraded from version ' +
									t.oldVersion + " to version " + t
									.newVersion +
									', but the storage "' + e
									.storeName + '" already exists.')
							}
						}), i.onerror = function(e) {
							e.preventDefault(), r(i.error)
						}, i.onsuccess = function() {
							n(i.result), T(e)
						}
					}))
				}

				function M(e) {
					return k(e, !1)
				}

				function x(e) {
					return k(e, !0)
				}

				function O(e, t) {
					if (!e.db) return !0;
					var n = !e.db.objectStoreNames.contains(e.storeName),
						r = e.version < e.db.version,
						o = e.version > e.db.version;
					if (r && (e.version !== t && console.warn('The database "' + e.name +
							"\" can't be downgraded from version " + e.db.version +
							" to version " + e.version + "."), e.version = e.db.version), o ||
						n) {
						if (n) {
							var i = e.db.version + 1;
							i > e.version && (e.version = i)
						}
						return !0
					}
					return !1
				}

				function j(e) {
					return new c((function(t, n) {
						var r = new FileReader;
						r.onerror = n, r.onloadend = function(n) {
							var r = btoa(n.target.result || "");
							t({
								__local_forage_encoded_blob: !0,
								data: r,
								type: e.type
							})
						}, r.readAsBinaryString(e)
					}))
				}

				function A(e) {
					return u([_(atob(e.data))], {
						type: e.type
					})
				}

				function N(e) {
					return e && e.__local_forage_encoded_blob
				}

				function C(e) {
					var t = this,
						n = t._initReady().then((function() {
							var e = m[t._dbInfo.name];
							if (e && e.dbReady) return e.dbReady
						}));
					return l(n, e, e), n
				}

				function D(e) {
					I(e);
					for (var t = m[e.name], n = t.forages, r = 0; r < n.length; r++) {
						var o = n[r];
						o._dbInfo.db && (o._dbInfo.db.close(), o._dbInfo.db = null)
					}
					return e.db = null, M(e).then((function(t) {
						return e.db = t, O(e) ? x(e) : t
					})).then((function(r) {
						e.db = t.db = r;
						for (var o = 0; o < n.length; o++) n[o]._dbInfo.db = r
					})).catch((function(t) {
						throw E(e, t), t
					}))
				}

				function L(e, t, n, r) {
					void 0 === r && (r = 1);
					try {
						var o = e.db.transaction(e.storeName, t);
						n(null, o)
					} catch (o) {
						if (r > 0 && (!e.db || "InvalidStateError" === o.name ||
								"NotFoundError" === o.name)) return c.resolve().then((
					function() {
							if (!e.db || "NotFoundError" === o.name && !e.db
								.objectStoreNames.contains(e.storeName) && e
								.version <= e.db.version) return e.db && (e
								.version = e.db.version + 1), x(e)
						})).then((function() {
							return D(e).then((function() {
								L(e, t, n, r - 1)
							}))
						})).catch(n);
						n(o)
					}
				}

				function R() {
					return {
						forages: [],
						db: null,
						dbReady: null,
						deferredOperations: []
					}
				}

				function q(e) {
					var t = this,
						n = {
							db: null
						};
					if (e)
						for (var r in e) n[r] = e[r];
					var o = m[n.name];
					o || (o = R(), m[n.name] = o), o.forages.push(t), t._initReady || (t
						._initReady = t.ready, t.ready = C);
					var i = [];

					function a() {
						return c.resolve()
					}
					for (var s = 0; s < o.forages.length; s++) {
						var u = o.forages[s];
						u !== t && i.push(u._initReady().catch(a))
					}
					var f = o.forages.slice(0);
					return c.all(i).then((function() {
						return n.db = o.db, M(n)
					})).then((function(e) {
						return n.db = e, O(n, t._defaultConfig.version) ? x(n) : e
					})).then((function(e) {
						n.db = o.db = e, t._dbInfo = n;
						for (var r = 0; r < f.length; r++) {
							var i = f[r];
							i !== t && (i._dbInfo.db = n.db, i._dbInfo.version = n
								.version)
						}
					}))
				}

				function P(e, t) {
					var n = this;
					e = d(e);
					var r = new c((function(t, r) {
						n.ready().then((function() {
							L(n._dbInfo, y, (function(o, i) {
								if (o) return r(o);
								try {
									var a = i.objectStore(n
										._dbInfo
										.storeName).get(
										e);
									a.onsuccess =
									function() {
											var e = a
											.result;
											void 0 === e &&
												(e = null),
												N(e) && (e =
													A(e)),
												t(e)
										}, a.onerror =
										function() {
											r(a.error)
										}
								} catch (e) {
									r(e)
								}
							}))
						})).catch(r)
					}));
					return f(r, t), r
				}

				function $(e, t) {
					var n = this,
						r = new c((function(t, r) {
							n.ready().then((function() {
								L(n._dbInfo, y, (function(o, i) {
									if (o) return r(o);
									try {
										var a = i.objectStore(n
												._dbInfo
												.storeName)
											.openCursor(),
											s = 1;
										a.onsuccess =
										function() {
												var n = a
												.result;
												if (n) {
													var r = n
														.value;
													N(r) && (r =
														A(r)
														);
													var o = e(r,
														n
														.key,
														s++);
													void 0 !==
														o ? t(
														o) : n
														.continue()
												} else t()
											}, a.onerror =
											function() {
												r(a.error)
											}
									} catch (e) {
										r(e)
									}
								}))
							})).catch(r)
						}));
					return f(r, t), r
				}

				function z(e, t, n) {
					var r = this;
					e = d(e);
					var o = new c((function(n, o) {
						var i;
						r.ready().then((function() {
							return i = r._dbInfo, "[object Blob]" === v
								.call(t) ? S(i.db).then((function(e) {
									return e ? t : j(t)
								})) : t
						})).then((function(t) {
							L(r._dbInfo, b, (function(i, a) {
								if (i) return o(i);
								try {
									var s = a.objectStore(r
										._dbInfo
										.storeName);
									null === t && (t =
										void 0);
									var u = s.put(t, e);
									a.oncomplete =
										function() {
											void 0 === t &&
												(t = null),
												n(t)
										}, a.onabort = a
										.onerror =
										function() {
											var e = u
												.error ? u
												.error : u
												.transaction
												.error;
											o(e)
										}
								} catch (e) {
									o(e)
								}
							}))
						})).catch(o)
					}));
					return f(o, n), o
				}

				function Q(e, t) {
					var n = this;
					e = d(e);
					var r = new c((function(t, r) {
						n.ready().then((function() {
							L(n._dbInfo, b, (function(o, i) {
								if (o) return r(o);
								try {
									var a = i.objectStore(n
											._dbInfo
											.storeName)
										.delete(e);
									i.oncomplete =
										function() {
											t()
										}, i.onerror =
										function() {
											r(a.error)
										}, i.onabort =
										function() {
											var e = a
												.error ? a
												.error : a
												.transaction
												.error;
											r(e)
										}
								} catch (e) {
									r(e)
								}
							}))
						})).catch(r)
					}));
					return f(r, t), r
				}

				function U(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								L(t._dbInfo, b, (function(r, o) {
									if (r) return n(r);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.clear();
										o.oncomplete =
											function() {
												e()
											}, o.onabort = o
											.onerror =
											function() {
												var e = i
													.error ? i
													.error : i
													.transaction
													.error;
												n(e)
											}
									} catch (e) {
										n(e)
									}
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function F(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								L(t._dbInfo, y, (function(r, o) {
									if (r) return n(r);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.count();
										i.onsuccess =
										function() {
												e(i.result)
											}, i.onerror =
											function() {
												n(i.error)
											}
									} catch (e) {
										n(e)
									}
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function B(e, t) {
					var n = this,
						r = new c((function(t, r) {
							e < 0 ? t(null) : n.ready().then((function() {
								L(n._dbInfo, y, (function(o, i) {
									if (o) return r(o);
									try {
										var a = i.objectStore(n
												._dbInfo
												.storeName),
											s = !1,
											u = a
											.openKeyCursor();
										u.onsuccess =
										function() {
												var n = u
												.result;
												n ? 0 === e ||
													s ? t(n
													.key) : (
														s = !0,
														n
														.advance(
															e)
														) : t(
														null)
											}, u.onerror =
											function() {
												r(u.error)
											}
									} catch (e) {
										r(e)
									}
								}))
							})).catch(r)
						}));
					return f(r, t), r
				}

				function G(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								L(t._dbInfo, y, (function(r, o) {
									if (r) return n(r);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.openKeyCursor(),
											a = [];
										i.onsuccess =
										function() {
												var t = i
												.result;
												t ? (a.push(t
														.key
														), t
													.continue()
													) : e(a)
											}, i.onerror =
											function() {
												n(i.error)
											}
									} catch (e) {
										n(e)
									}
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function H(e, t) {
					t = p.apply(this, arguments);
					var n = this.config();
					(e = "function" != typeof e && e || {}).name || (e.name = e.name || n.name,
						e.storeName = e.storeName || n.storeName);
					var r, o = this;
					if (e.name) {
						var i = e.name === n.name && o._dbInfo.db ? c.resolve(o._dbInfo.db) : M(
							e).then((function(t) {
							var n = m[e.name],
								r = n.forages;
							n.db = t;
							for (var o = 0; o < r.length; o++) r[o]._dbInfo.db = t;
							return t
						}));
						r = e.storeName ? i.then((function(t) {
							if (t.objectStoreNames.contains(e.storeName)) {
								var n = t.version + 1;
								I(e);
								var r = m[e.name],
									o = r.forages;
								t.close();
								for (var i = 0; i < o.length; i++) {
									var s = o[i];
									s._dbInfo.db = null, s._dbInfo.version = n
								}
								var u = new c((function(t, r) {
									var o = a.open(e.name, n);
									o.onerror = function(e) {
										o.result.close(), r(e)
									}, o.onupgradeneeded =
									function() {
										o.result.deleteObjectStore(e
											.storeName)
									}, o.onsuccess = function() {
										var e = o.result;
										e.close(), t(e)
									}
								}));
								return u.then((function(e) {
									r.db = e;
									for (var t = 0; t < o.length; t++) {
										var n = o[t];
										n._dbInfo.db = e, T(n._dbInfo)
									}
								})).catch((function(t) {
									throw (E(e, t) || c.resolve())
										.catch((function() {})), t
								}))
							}
						})) : i.then((function(t) {
							I(e);
							var n = m[e.name],
								r = n.forages;
							t.close();
							for (var o = 0; o < r.length; o++) r[o]._dbInfo.db =
								null;
							var i = new c((function(t, n) {
								var r = a.deleteDatabase(e.name);
								r.onerror = r.onblocked = function(e) {
									var t = r.result;
									t && t.close(), n(e)
								}, r.onsuccess = function() {
									var e = r.result;
									e && e.close(), t(e)
								}
							}));
							return i.then((function(e) {
								n.db = e;
								for (var t = 0; t < r.length; t++) T(r[
									t]._dbInfo)
							})).catch((function(t) {
								throw (E(e, t) || c.resolve()).catch((
									function() {})), t
							}))
						}))
					} else r = c.reject("Invalid arguments");
					return f(r, t), r
				}
				var W = {
					_driver: "asyncStorage",
					_initStorage: q,
					_support: s(),
					iterate: $,
					getItem: P,
					setItem: z,
					removeItem: Q,
					clear: U,
					length: F,
					key: B,
					keys: G,
					dropInstance: H
				};

				function V() {
					return "function" == typeof openDatabase
				}
				var Y = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
					K = "~~local_forage_type~",
					J = /^~~local_forage_type~([^~]+)~/,
					X = "__lfsc__:",
					Z = X.length,
					ee = "arbf",
					te = "blob",
					ne = "si08",
					re = "ui08",
					oe = "uic8",
					ie = "si16",
					ae = "si32",
					se = "ur16",
					ue = "ui32",
					ce = "fl32",
					fe = "fl64",
					le = Z + ee.length,
					de = Object.prototype.toString;

				function pe(e) {
					var t, n, r, o, i, a = .75 * e.length,
						s = e.length,
						u = 0;
					"=" === e[e.length - 1] && (a--, "=" === e[e.length - 2] && a--);
					var c = new ArrayBuffer(a),
						f = new Uint8Array(c);
					for (t = 0; t < s; t += 4) n = Y.indexOf(e[t]), r = Y.indexOf(e[t + 1]), o =
						Y.indexOf(e[t + 2]), i = Y.indexOf(e[t + 3]), f[u++] = n << 2 | r >> 4,
						f[u++] = (15 & r) << 4 | o >> 2, f[u++] = (3 & o) << 6 | 63 & i;
					return c
				}

				function he(e) {
					var t, n = new Uint8Array(e),
						r = "";
					for (t = 0; t < n.length; t += 3) r += Y[n[t] >> 2], r += Y[(3 & n[t]) <<
							4 | n[t + 1] >> 4], r += Y[(15 & n[t + 1]) << 2 | n[t + 2] >> 6],
						r += Y[63 & n[t + 2]];
					return n.length % 3 == 2 ? r = r.substring(0, r.length - 1) + "=" : n
						.length % 3 == 1 && (r = r.substring(0, r.length - 2) + "=="), r
				}

				function ge(e, t) {
					var n = "";
					if (e && (n = de.call(e)), e && ("[object ArrayBuffer]" === n || e.buffer &&
							"[object ArrayBuffer]" === de.call(e.buffer))) {
						var r, o = X;
						e instanceof ArrayBuffer ? (r = e, o += ee) : (r = e.buffer,
							"[object Int8Array]" === n ? o += ne : "[object Uint8Array]" ===
							n ? o += re : "[object Uint8ClampedArray]" === n ? o += oe :
							"[object Int16Array]" === n ? o += ie :
							"[object Uint16Array]" === n ? o += se :
							"[object Int32Array]" === n ? o += ae :
							"[object Uint32Array]" === n ? o += ue :
							"[object Float32Array]" === n ? o += ce :
							"[object Float64Array]" === n ? o += fe : t(new Error(
								"Failed to get type for BinaryArray"))), t(o + he(r))
					} else if ("[object Blob]" === n) {
						var i = new FileReader;
						i.onload = function() {
							var n = K + e.type + "~" + he(this.result);
							t(X + te + n)
						}, i.readAsArrayBuffer(e)
					} else try {
						t(JSON.stringify(e))
					} catch (n) {
						console.error("Couldn't convert value into a JSON string: ", e), t(
							null, n)
					}
				}

				function me(e) {
					if (e.substring(0, Z) !== X) return JSON.parse(e);
					var t, n = e.substring(le),
						r = e.substring(Z, le);
					if (r === te && J.test(n)) {
						var o = n.match(J);
						t = o[1], n = n.substring(o[0].length)
					}
					var i = pe(n);
					switch (r) {
						case ee:
							return i;
						case te:
							return u([i], {
								type: t
							});
						case ne:
							return new Int8Array(i);
						case re:
							return new Uint8Array(i);
						case oe:
							return new Uint8ClampedArray(i);
						case ie:
							return new Int16Array(i);
						case se:
							return new Uint16Array(i);
						case ae:
							return new Int32Array(i);
						case ue:
							return new Uint32Array(i);
						case ce:
							return new Float32Array(i);
						case fe:
							return new Float64Array(i);
						default:
							throw new Error("Unkown type: " + r)
					}
				}
				var ve = {
					serialize: ge,
					deserialize: me,
					stringToBuffer: pe,
					bufferToString: he
				};

				function ye(e, t, n, r) {
					e.executeSql("CREATE TABLE IF NOT EXISTS " + t.storeName +
						" (id INTEGER PRIMARY KEY, key unique, value)", [], n, r)
				}

				function be(e) {
					var t = this,
						n = {
							db: null
						};
					if (e)
						for (var r in e) n[r] = "string" != typeof e[r] ? e[r].toString() : e[
						r];
					var o = new c((function(e, r) {
						try {
							n.db = openDatabase(n.name, String(n.version), n
								.description, n.size)
						} catch (e) {
							return r(e)
						}
						n.db.transaction((function(o) {
							ye(o, n, (function() {
								t._dbInfo = n, e()
							}), (function(e, t) {
								r(t)
							}))
						}), r)
					}));
					return n.serializer = ve, o
				}

				function _e(e, t, n, r, o, i) {
					e.executeSql(n, r, o, (function(e, a) {
						a.code === a.SYNTAX_ERR ? e.executeSql(
							"SELECT name FROM sqlite_master WHERE type='table' AND name = ?",
							[t.storeName], (function(e, s) {
								s.rows.length ? i(e, a) : ye(e, t, (
									function() {
										e.executeSql(n, r, o, i)
									}), i)
							}), i) : i(e, a)
					}), i)
				}

				function we(e, t) {
					var n = this;
					e = d(e);
					var r = new c((function(t, r) {
						n.ready().then((function() {
							var o = n._dbInfo;
							o.db.transaction((function(n) {
								_e(n, o, "SELECT * FROM " +
									o.storeName +
									" WHERE key = ? LIMIT 1",
									[e], (function(e,
									n) {
										var r = n
											.rows
											.length ?
											n.rows
											.item(0)
											.value :
											null;
										r && (r = o
												.serializer
												.deserialize(
													r
													)
												),
											t(r)
									}), (function(e,
									t) {
										r(t)
									}))
							}))
						})).catch(r)
					}));
					return f(r, t), r
				}

				function Se(e, t) {
					var n = this,
						r = new c((function(t, r) {
							n.ready().then((function() {
								var o = n._dbInfo;
								o.db.transaction((function(n) {
									_e(n, o, "SELECT * FROM " +
										o.storeName, [], (
											function(n, r) {
												for (var i =
														r
														.rows,
														a =
														i
														.length,
														s =
														0; s <
													a; s++
													) {
													var u =
														i
														.item(
															s
															),
														c =
														u
														.value;
													if (c &&
														(c = o
															.serializer
															.deserialize(
																c
																)
															),
														void 0 !==
														(c = e(c,
															u
															.key,
															s +
															1
															))
														)
														return void t(
															c
															)
												}
												t()
											}), (function(e,
											t) {
											r(t)
										}))
								}))
							})).catch(r)
						}));
					return f(r, t), r
				}

				function Ie(e, t, n, r) {
					var o = this;
					e = d(e);
					var i = new c((function(i, a) {
						o.ready().then((function() {
							void 0 === t && (t = null);
							var s = t,
								u = o._dbInfo;
							u.serializer.serialize(t, (function(t, c) {
								c ? a(c) : u.db.transaction(
									(function(n) {
										_e(n, u, "INSERT OR REPLACE INTO " +
											u
											.storeName +
											" (key, value) VALUES (?, ?)",
											[e,
												t],
											(function() {
												i(s)
											}),
											(function(
												e,
												t
												) {
												a(t)
											}))
									}), (function(t) {
										if (t
											.code ===
											t
											.QUOTA_ERR
											) {
											if (r >
												0)
												return void i(
													Ie
													.apply(
														o,
														[e, s,
															n,
															r -
															1
														]
														)
													);
											a(t)
										}
									}))
							}))
						})).catch(a)
					}));
					return f(i, n), i
				}

				function Te(e, t, n) {
					return Ie.apply(this, [e, t, n, 1])
				}

				function Ee(e, t) {
					var n = this;
					e = d(e);
					var r = new c((function(t, r) {
						n.ready().then((function() {
							var o = n._dbInfo;
							o.db.transaction((function(n) {
								_e(n, o, "DELETE FROM " + o
									.storeName +
									" WHERE key = ?", [
										e], (
								function() {
										t()
									}), (function(e,
									t) {
										r(t)
									}))
							}))
						})).catch(r)
					}));
					return f(r, t), r
				}

				function ke(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								var r = t._dbInfo;
								r.db.transaction((function(t) {
									_e(t, r, "DELETE FROM " + r
										.storeName, [], (
											function() {
												e()
											}), (function(e,
											t) {
											n(t)
										}))
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function Me(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								var r = t._dbInfo;
								r.db.transaction((function(t) {
									_e(t, r, "SELECT COUNT(key) as c FROM " +
										r.storeName, [], (
											function(t, n) {
												var r = n
													.rows
													.item(0)
													.c;
												e(r)
											}), (function(e,
											t) {
											n(t)
										}))
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function xe(e, t) {
					var n = this,
						r = new c((function(t, r) {
							n.ready().then((function() {
								var o = n._dbInfo;
								o.db.transaction((function(n) {
									_e(n, o, "SELECT key FROM " +
										o.storeName +
										" WHERE id = ? LIMIT 1",
										[e + 1], (function(
											e, n) {
											var r = n
												.rows
												.length ?
												n.rows
												.item(0)
												.key :
												null;
											t(r)
										}), (function(e,
										t) {
											r(t)
										}))
								}))
							})).catch(r)
						}));
					return f(r, t), r
				}

				function Oe(e) {
					var t = this,
						n = new c((function(e, n) {
							t.ready().then((function() {
								var r = t._dbInfo;
								r.db.transaction((function(t) {
									_e(t, r, "SELECT key FROM " +
										r.storeName, [], (
											function(t, n) {
												for (var r = [],
														o =
														0; o <
													n.rows
													.length; o++
													) r
													.push(n
														.rows
														.item(
															o
															)
														.key
														);
												e(r)
											}), (function(e,
											t) {
											n(t)
										}))
								}))
							})).catch(n)
						}));
					return f(n, e), n
				}

				function je(e) {
					return new c((function(t, n) {
						e.transaction((function(r) {
							r.executeSql(
								"SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",
								[], (function(n, r) {
									for (var o = [], i = 0; i <
										r.rows.length; i++) o
										.push(r.rows.item(i)
											.name);
									t({
										db: e,
										storeNames: o
									})
								}), (function(e, t) {
									n(t)
								}))
						}), (function(e) {
							n(e)
						}))
					}))
				}

				function Ae(e, t) {
					t = p.apply(this, arguments);
					var n = this.config();
					(e = "function" != typeof e && e || {}).name || (e.name = e.name || n.name,
						e.storeName = e.storeName || n.storeName);
					var r, o = this;
					return r = e.name ? new c((function(t) {
						var r;
						r = e.name === n.name ? o._dbInfo.db : openDatabase(e.name,
							"", "", 0), e.storeName ? t({
							db: r,
							storeNames: [e.storeName]
						}) : t(je(r))
					})).then((function(e) {
						return new c((function(t, n) {
							e.db.transaction((function(r) {
								function o(e) {
									return new c((function(
										t, n) {
										r.executeSql(
											"DROP TABLE IF EXISTS " +
											e,
											[],
											(function() {
												t()
											}),
											(function(
												e,
												t
												) {
												n(t)
											})
											)
									}))
								}
								for (var i = [], a = 0, s =
										e.storeNames
										.length; a < s; a++)
									i.push(o(e.storeNames[
										a]));
								c.all(i).then((function() {
									t()
								})).catch((function(e) {
									n(e)
								}))
							}), (function(e) {
								n(e)
							}))
						}))
					})) : c.reject("Invalid arguments"), f(r, t), r
				}
				var Ne = {
					_driver: "webSQLStorage",
					_initStorage: be,
					_support: V(),
					iterate: Se,
					getItem: we,
					setItem: Te,
					removeItem: Ee,
					clear: ke,
					length: Me,
					key: xe,
					keys: Oe,
					dropInstance: Ae
				};

				function Ce() {
					try {
						return "undefined" != typeof localStorage && "setItem" in
							localStorage && !!localStorage.setItem
					} catch (e) {
						return !1
					}
				}

				function De(e, t) {
					var n = e.name + "/";
					return e.storeName !== t.storeName && (n += e.storeName + "/"), n
				}

				function Le() {
					var e = "_localforage_support_test";
					try {
						return localStorage.setItem(e, !0), localStorage.removeItem(e), !1
					} catch (e) {
						return !0
					}
				}

				function Re() {
					return !Le() || localStorage.length > 0
				}

				function qe(e) {
					var t = this,
						n = {};
					if (e)
						for (var r in e) n[r] = e[r];
					return n.keyPrefix = De(e, t._defaultConfig), Re() ? (t._dbInfo = n, n
						.serializer = ve, c.resolve()) : c.reject()
				}

				function Pe(e) {
					var t = this,
						n = t.ready().then((function() {
							for (var e = t._dbInfo.keyPrefix, n = localStorage.length -
									1; n >= 0; n--) {
								var r = localStorage.key(n);
								0 === r.indexOf(e) && localStorage.removeItem(r)
							}
						}));
					return f(n, e), n
				}

				function $e(e, t) {
					var n = this;
					e = d(e);
					var r = n.ready().then((function() {
						var t = n._dbInfo,
							r = localStorage.getItem(t.keyPrefix + e);
						return r && (r = t.serializer.deserialize(r)), r
					}));
					return f(r, t), r
				}

				function ze(e, t) {
					var n = this,
						r = n.ready().then((function() {
							for (var t = n._dbInfo, r = t.keyPrefix, o = r.length, i =
									localStorage.length, a = 1, s = 0; s < i; s++) {
								var u = localStorage.key(s);
								if (0 === u.indexOf(r)) {
									var c = localStorage.getItem(u);
									if (c && (c = t.serializer.deserialize(c)),
										void 0 !== (c = e(c, u.substring(o), a++)))
										return c
								}
							}
						}));
					return f(r, t), r
				}

				function Qe(e, t) {
					var n = this,
						r = n.ready().then((function() {
							var t, r = n._dbInfo;
							try {
								t = localStorage.key(e)
							} catch (e) {
								t = null
							}
							return t && (t = t.substring(r.keyPrefix.length)), t
						}));
					return f(r, t), r
				}

				function Ue(e) {
					var t = this,
						n = t.ready().then((function() {
							for (var e = t._dbInfo, n = localStorage.length, r = [], o =
									0; o < n; o++) {
								var i = localStorage.key(o);
								0 === i.indexOf(e.keyPrefix) && r.push(i.substring(e
									.keyPrefix.length))
							}
							return r
						}));
					return f(n, e), n
				}

				function Fe(e) {
					var t = this.keys().then((function(e) {
						return e.length
					}));
					return f(t, e), t
				}

				function Be(e, t) {
					var n = this;
					e = d(e);
					var r = n.ready().then((function() {
						var t = n._dbInfo;
						localStorage.removeItem(t.keyPrefix + e)
					}));
					return f(r, t), r
				}

				function Ge(e, t, n) {
					var r = this;
					e = d(e);
					var o = r.ready().then((function() {
						void 0 === t && (t = null);
						var n = t;
						return new c((function(o, i) {
							var a = r._dbInfo;
							a.serializer.serialize(t, (function(t, r) {
								if (r) i(r);
								else try {
									localStorage
										.setItem(a
											.keyPrefix +
											e, t), o(n)
								} catch (e) {
									"QuotaExceededError" !==
									e.name &&
										"NS_ERROR_DOM_QUOTA_REACHED" !==
										e.name || i(e),
										i(e)
								}
							}))
						}))
					}));
					return f(o, n), o
				}

				function He(e, t) {
					if (t = p.apply(this, arguments), !(e = "function" != typeof e && e || {})
						.name) {
						var n = this.config();
						e.name = e.name || n.name, e.storeName = e.storeName || n.storeName
					}
					var r, o = this;
					return r = e.name ? new c((function(t) {
						e.storeName ? t(De(e, o._defaultConfig)) : t(e.name + "/")
					})).then((function(e) {
						for (var t = localStorage.length - 1; t >= 0; t--) {
							var n = localStorage.key(t);
							0 === n.indexOf(e) && localStorage.removeItem(n)
						}
					})) : c.reject("Invalid arguments"), f(r, t), r
				}
				var We = {
						_driver: "localStorageWrapper",
						_initStorage: qe,
						_support: Ce(),
						iterate: ze,
						getItem: $e,
						setItem: Ge,
						removeItem: Be,
						clear: Pe,
						length: Fe,
						key: Qe,
						keys: Ue,
						dropInstance: He
					},
					Ve = function(e, t) {
						return e === t || "number" == typeof e && "number" == typeof t && isNaN(
							e) && isNaN(t)
					},
					Ye = function(e, t) {
						for (var n = e.length, r = 0; r < n;) {
							if (Ve(e[r], t)) return !0;
							r++
						}
						return !1
					},
					Ke = Array.isArray || function(e) {
						return "[object Array]" === Object.prototype.toString.call(e)
					},
					Je = {},
					Xe = {},
					Ze = {
						INDEXEDDB: W,
						WEBSQL: Ne,
						LOCALSTORAGE: We
					},
					et = [Ze.INDEXEDDB._driver, Ze.WEBSQL._driver, Ze.LOCALSTORAGE._driver],
					tt = ["dropInstance"],
					nt = ["clear", "getItem", "iterate", "key", "keys", "length", "removeItem",
						"setItem"
					].concat(tt),
					rt = {
						description: "",
						driver: et.slice(),
						name: "localforage",
						size: 4980736,
						storeName: "keyvaluepairs",
						version: 1
					};

				function ot(e, t) {
					e[t] = function() {
						var n = arguments;
						return e.ready().then((function() {
							return e[t].apply(e, n)
						}))
					}
				}

				function it() {
					for (var e = 1; e < arguments.length; e++) {
						var t = arguments[e];
						if (t)
							for (var n in t) t.hasOwnProperty(n) && (Ke(t[n]) ? arguments[0][
								n] = t[n].slice() : arguments[0][n] = t[n])
					}
					return arguments[0]
				}
				var at = function() {
						function e(t) {
							for (var n in o(this, e), Ze)
								if (Ze.hasOwnProperty(n)) {
									var r = Ze[n],
										i = r._driver;
									this[n] = i, Je[i] || this.defineDriver(r)
								} this._defaultConfig = it({}, rt), this._config = it({}, this
									._defaultConfig, t), this._driverSet = null, this
								._initDriver = null, this._ready = !1, this._dbInfo = null, this
								._wrapLibraryMethodsWithReady(), this.setDriver(this._config
									.driver).catch((function() {}))
						}
						return e.prototype.config = function(e) {
							if ("object" === (void 0 === e ? "undefined" : r(e))) {
								if (this._ready) return new Error(
									"Can't call config() after localforage has been used."
									);
								for (var t in e) {
									if ("storeName" === t && (e[t] = e[t].replace(/\W/g,
											"_")), "version" === t && "number" != typeof e[
											t]) return new Error(
										"Database version must be a number.");
									this._config[t] = e[t]
								}
								return !("driver" in e) || !e.driver || this.setDriver(this
									._config.driver)
							}
							return "string" == typeof e ? this._config[e] : this._config
						}, e.prototype.defineDriver = function(e, t, n) {
							var r = new c((function(t, n) {
								try {
									var r = e._driver,
										o = new Error(
											"Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver"
											);
									if (!e._driver) return void n(o);
									for (var i = nt.concat("_initStorage"), a =
											0, s = i.length; a < s; a++) {
										var u = i[a];
										if ((!Ye(tt, u) || e[u]) &&
											"function" != typeof e[u])
										return void n(o)
									}
									var l = function() {
										for (var t = function(e) {
												return function() {
													var t =
														new Error(
															"Method " +
															e +
															" is not implemented by the current driver"
															),
														n = c
														.reject(t);
													return f(n,
															arguments[
																arguments
																.length -
																1]),
														n
												}
											}, n = 0, r = tt.length; n <
											r; n++) {
											var o = tt[n];
											e[o] || (e[o] = t(o))
										}
									};
									l();
									var d = function(n) {
										Je[r] && console.info(
											"Redefining LocalForage driver: " +
											r), Je[r] = e, Xe[r] = n,
										t()
									};
									"_support" in e ? e._support &&
										"function" == typeof e._support ? e
										._support().then(d, n) : d(!!e
										._support) : d(!0)
								} catch (e) {
									n(e)
								}
							}));
							return l(r, t, n), r
						}, e.prototype.driver = function() {
							return this._driver || null
						}, e.prototype.getDriver = function(e, t, n) {
							var r = Je[e] ? c.resolve(Je[e]) : c.reject(new Error(
								"Driver not found."));
							return l(r, t, n), r
						}, e.prototype.getSerializer = function(e) {
							var t = c.resolve(ve);
							return l(t, e), t
						}, e.prototype.ready = function(e) {
							var t = this,
								n = t._driverSet.then((function() {
									return null === t._ready && (t._ready = t
										._initDriver()), t._ready
								}));
							return l(n, e, e), n
						}, e.prototype.setDriver = function(e, t, n) {
							var r = this;
							Ke(e) || (e = [e]);
							var o = this._getSupportedDrivers(e);

							function i() {
								r._config.driver = r.driver()
							}

							function a(e) {
								return r._extend(e), i(), r._ready = r._initStorage(r
									._config), r._ready
							}

							function s(e) {
								return function() {
									var t = 0;

									function n() {
										for (; t < e.length;) {
											var o = e[t];
											return t++, r._dbInfo = null, r._ready =
												null, r.getDriver(o).then(a).catch(n)
										}
										i();
										var s = new Error(
											"No available storage method found.");
										return r._driverSet = c.reject(s), r._driverSet
									}
									return n()
								}
							}
							var u = null !== this._driverSet ? this._driverSet.catch((
								function() {
									return c.resolve()
								})) : c.resolve();
							return this._driverSet = u.then((function() {
								var e = o[0];
								return r._dbInfo = null, r._ready = null, r
									.getDriver(e).then((function(e) {
										r._driver = e._driver, i(), r
											._wrapLibraryMethodsWithReady(),
											r._initDriver = s(o)
									}))
							})).catch((function() {
								i();
								var e = new Error(
									"No available storage method found.");
								return r._driverSet = c.reject(e), r._driverSet
							})), l(this._driverSet, t, n), this._driverSet
						}, e.prototype.supports = function(e) {
							return !!Xe[e]
						}, e.prototype._extend = function(e) {
							it(this, e)
						}, e.prototype._getSupportedDrivers = function(e) {
							for (var t = [], n = 0, r = e.length; n < r; n++) {
								var o = e[n];
								this.supports(o) && t.push(o)
							}
							return t
						}, e.prototype._wrapLibraryMethodsWithReady = function() {
							for (var e = 0, t = nt.length; e < t; e++) ot(this, nt[e])
						}, e.prototype.createInstance = function(t) {
							return new e(t)
						}, e
					}(),
					st = new at;
				t.exports = st
			}, {
				3: 3
			}]
		}, {}, [4])(4)
	})),
	Ps = qs.createInstance({
		name: "im4.0"
	});

function $s(e) {
	var t, n, r, o;
	return Fe(this, (function(i) {
		switch (i.label) {
			case 0:
				return t = e.data, n = t.item, r = t.list, [4, Ps.getItem("im.history-" + n.group.groupId)];
			case 1:
				return o = i.sent(), Ps.setItem("im.history-" + n.group.groupId, {
					data: r,
					hasMoreData: o.hasMoreData,
					nextToken: o.nextToken
				}), [2]
		}
	}))
}

function zs(e) {
	var t, n, r;
	return Fe(this, (function(o) {
		switch (o.label) {
			case 0:
				return t = e.data.message.group.groupId, n = e.data.message, [4, Ps.getItem("im.history-" +
					t)];
			case 1:
				return (r = o.sent()) ? Ps.setItem("im.history-" + t, {
					data: Be(r.data, [n]),
					hasMoreData: r.hasMoreData,
					nextToken: r.nextToken
				}) : Ps.setItem("im.history-" + t, {
					data: [n],
					hasMoreData: !0,
					nextToken: ""
				}), [2]
		}
	}))
}

function Qs(e) {
	var t, n, r;
	return Fe(this, (function(o) {
		switch (o.label) {
			case 0:
				return t = e.data.message.group.groupId, n = e.data.message, [4, Ps.getItem("im.history-" +
					t)];
			case 1:
				return (r = o.sent()) ? Ps.setItem("im.history-" + t, {
					data: Be(r.data, [n]),
					hasMoreData: r.hasMoreData,
					nextToken: r.nextToken
				}) : Ps.setItem("im.history-" + t, {
					data: [n],
					hasMoreData: !0,
					nextToken: ""
				}), [2]
		}
	}))
}

function Us(e) {
	var t, n, o, i, a;
	return Fe(this, (function(s) {
		switch (s.label) {
			case 0:
				return [4, un(500)];
			case 1:
				s.sent(), t = Ys.getState().global.uid, s.label = 2;
			case 2:
				return s.trys.push([2, 10, , 11]), e.data.top ? [3, 6] : [4, Qr({
					groupId: e.data.groupId,
					limit: e.data.limit,
					nextToken: ""
				})];
			case 3:
				return (i = s.sent()).data.ok ? (Ps.setItem("im.history-" + e.data.groupId, Qe({
					uid: t
				}, i.data.result)), [4, tn(ps(i.data.result))]) : [3, 5];
			case 4:
				s.sent(), r.publish(As), s.label = 5;
			case 5:
				return [3, 9];
			case 6:
				return n = Ys.getState().data.historyMessageParams, o = n.nextToken, n.hasMoreData ? [4,
			Qr({
					groupId: e.data.groupId,
					limit: e.data.limit,
					nextToken: o
				})] : (r.publish(As, e.data.top), [2]);
			case 7:
				return (i = s.sent()).data.ok ? [4, tn(hs(i.data.result))] : [3, 9];
			case 8:
				s.sent(), r.publish(As, e.data.top), s.label = 9;
			case 9:
				return [3, 11];
			case 10:
				return a = s.sent(), yr.error("getHistory 发生错误", a)(), [3, 11];
			case 11:
				return [2]
		}
	}))
}

function Fs(e) {
	var t, n;
	return Fe(this, (function(o) {
		switch (o.label) {
			case 0:
				return t = Ys.getState().global.uid, e.data.top ? [2] : [4, tn(Gr(e.data.groupId || -1))];
			case 1:
				return o.sent(), [4, Ps.getItem("im.history-" + e.data.groupId)];
			case 2:
				return (n = o.sent()) && t === n.uid ? [4, tn(ps(Qe(Qe({}, n), {
					dataFrom: "db"
				})))] : [3, 4];
			case 3:
				return o.sent(), [3, 6];
			case 4:
				return [4, tn(vs())];
			case 5:
				o.sent(), o.label = 6;
			case 6:
				return r.publish(As), [2]
		}
	}))
}

function Bs(e) {
	var t, n, o, i, a;
	return Fe(this, (function(s) {
		switch (s.label) {
			case 0:
				return [4, un(200)];
			case 1:
				s.sent(), t = Ys.getState().global.uid, s.label = 2;
			case 2:
				return s.trys.push([2, 18, , 19]), e.data.top ? [3, 10] : "query" !== e.data
					.queryModeSearchConfig.mode ? [3, 6] : [4, Fr(Qe({
						limit: e.data.limit,
						nextToken: ""
					}, e.data.queryModeSearchConfig.params))];
			case 3:
				return (i = s.sent()).data.ok ? (Ps.setItem("im.group.List", Qe(Qe({}, i.data.result), {
					uid: t
				})), [4, tn(ys(i.data.result))]) : [3, 5];
			case 4:
				s.sent(), r.publish(Ns), s.label = 5;
			case 5:
				return [3, 9];
			case 6:
				return [4, Ur({
					limit: e.data.limit,
					nextToken: ""
				})];
			case 7:
				return (i = s.sent()).data.ok ? (Ps.setItem("im.group.List", Qe(Qe({}, i.data.result), {
					uid: t
				})), [4, tn(ys(i.data.result))]) : [3, 9];
			case 8:
				s.sent(), r.publish(Ns), s.label = 9;
			case 9:
				return [3, 17];
			case 10:
				return n = Ys.getState().data.groupMessageParams, o = n.nextToken, n.hasMoreData ?
					"query" !== e.data.queryModeSearchConfig.mode ? [3, 14] : [4, Fr(Qe({
						limit: e.data.limit,
						nextToken: o
					}, e.data.queryModeSearchConfig.params))] : (r.publish(Ns, e.data.top), [2]);
			case 11:
				return (i = s.sent()).data.ok ? [4, tn(bs(i.data.result))] : [3, 13];
			case 12:
				s.sent(), r.publish(Ns, e.data.top), s.label = 13;
			case 13:
				return [3, 17];
			case 14:
				return [4, Ur({
					limit: e.data.limit,
					nextToken: o
				})];
			case 15:
				return (i = s.sent()).data.ok ? [4, tn(bs(i.data.result))] : [3, 17];
			case 16:
				s.sent(), r.publish(Ns, e.data.top), s.label = 17;
			case 17:
				return [3, 19];
			case 18:
				return a = s.sent(), yr.error("getGroupList 发生错误", a)(), [3, 19];
			case 19:
				return [2]
		}
	}))
}

function Gs(e) {
	var t, n;
	return Fe(this, (function(o) {
		switch (o.label) {
			case 0:
				return "query" === e.data.queryModeSearchConfig.mode ? (yr.log("查询模式不走缓存")(), [2]) : (t = Ys
					.getState().global.uid, e.data.top ? [2] : [4, Ps.getItem("im.group.List")]);
			case 1:
				return (n = o.sent()) && t === n.uid ? [4, tn(ys(Qe(Qe({}, n), {
					dataFrom: "db"
				})))] : [3, 3];
			case 2:
				return o.sent(), [3, 5];
			case 3:
				return [4, tn(_s())];
			case 4:
				o.sent(), o.label = 5;
			case 5:
				return r.publish(Ns), [2]
		}
	}))
}

function Hs(e) {
	var t, n;
	return Fe(this, (function(o) {
		switch (o.label) {
			case 0:
				return [4, Ps.getItem("im.group.List")];
			case 1:
				return (t = o.sent()) ? (n = {
					hasMoreData: t.hasMoreData,
					nextToken: t.nextToken,
					data: e.data.list
				}, Ps.setItem("im.group.List", n), [4, tn(ys(n))]) : [3, 3];
			case 2:
				return o.sent(), r.publish(Ns), [3, 5];
			case 3:
				return n = {
					hasMoreData: !0,
					nextToken: "",
					data: e.data.list
				}, Ps.setItem("im.group.List", n), [4, tn(ys(n))];
			case 4:
				o.sent(), r.publish(Ns), o.label = 5;
			case 5:
				return [2]
		}
	}))
}
var Ws = function(e) {
		var t, n = void 0 === e ? {} : e,
			r = n.context,
			o = void 0 === r ? {} : r,
			i = n.channel,
			a = void 0 === i ? On() : i,
			s = n.sagaMonitor,
			u = function(e, t) {
				if (null == e) return {};
				var n, r, o = {},
					i = Object.keys(e);
				for (r = 0; r < i.length; r++) n = i[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
				return o
			}(n, ["context", "channel", "sagaMonitor"]);

		function c(e) {
			var n = e.getState,
				r = e.dispatch;
			return t = Xn.bind(null, st({}, u, {
					context: o,
					channel: a,
					dispatch: r,
					getState: n,
					sagaMonitor: s
				})),
				function(e) {
					return function(t) {
						s && s.actionDispatched && s.actionDispatched(t);
						var n = e(t);
						return a.put(t), n
					}
				}
		}
		return "production" !== process.env.NODE_ENV && Ot(a, bt,
			"options.channel passed to the Saga middleware is not a channel"), c.run = function() {
			if ("production" !== process.env.NODE_ENV && !t) throw new Error(
				"Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware"
				);
			return t.apply(void 0, arguments)
		}, c.setContext = function(e) {
			"production" !== process.env.NODE_ENV && Ot(e, pt, qt("sagaMiddleware", e)), jt(o, e)
		}, c
	}(),
	Vs = function(e) {
		for (var t = Object.keys(e), n = {}, r = 0; r < t.length; r++) {
			var o = t[r];
			"production" !== process.env.NODE_ENV && void 0 === e[o] && v('No reducer provided for key "' + o + '"'),
				"function" == typeof e[o] && (n[o] = e[o])
		}
		var i, a, s = Object.keys(n);
		"production" !== process.env.NODE_ENV && (i = {});
		try {
			! function(e) {
				Object.keys(e).forEach((function(t) {
					var n = e[t];
					if (void 0 === n(void 0, {
							type: g.INIT
						})) throw new Error('Reducer "' + t +
						"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined."
						);
					if (void 0 === n(void 0, {
							type: g.PROBE_UNKNOWN_ACTION()
						})) throw new Error('Reducer "' + t +
						"\" returned undefined when probed with a random type. Don't try to handle " +
						g.INIT +
						' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.'
						)
				}))
			}(n)
		} catch (e) {
			a = e
		}
		return function(e, t) {
			if (void 0 === e && (e = {}), a) throw a;
			if ("production" !== process.env.NODE_ENV) {
				var r = function(e, t, n, r) {
					var o = Object.keys(t),
						i = n && n.type === g.INIT ? "preloadedState argument passed to createStore" :
						"previous state received by the reducer";
					if (0 === o.length)
					return "Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";
					if (!m(e)) return "The " + i + ' has unexpected type of "' + {}.toString.call(e).match(
							/\s([a-z|A-Z]+)/)[1] +
						'". Expected argument to be an object with the following keys: "' + o.join('", "') +
						'"';
					var a = Object.keys(e).filter((function(e) {
						return !t.hasOwnProperty(e) && !r[e]
					}));
					return a.forEach((function(e) {
							r[e] = !0
						})), n && n.type === g.REPLACE ? void 0 : a.length > 0 ? "Unexpected " + (a.length > 1 ?
							"keys" : "key") + ' "' + a.join('", "') + '" found in ' + i +
						'. Expected to find one of the known reducer keys instead: "' + o.join('", "') +
						'". Unexpected keys will be ignored.' : void 0
				}(e, n, t, i);
				r && v(r)
			}
			for (var o = !1, u = {}, c = 0; c < s.length; c++) {
				var f = s[c],
					l = n[f],
					d = e[f],
					p = l(d, t);
				if (void 0 === p) {
					var h = y(f, t);
					throw new Error(h)
				}
				u[f] = p, o = o || p !== d
			}
			return (o = o || s.length !== Object.keys(e).length) ? u : e
		}
	}({
		global: function(e, t) {
			switch (void 0 === e && (e = Pe), t.type) {
				case be:
					return e.debug = t.value, e;
				case _e:
					return e.db = t.value, e;
				case me:
					return e.uid = t.value, e;
				case ve:
					return e.token && !t.value || (e.token = t.value), e;
				case ge:
					return e.runtime = t.value, e.runtime.env === u.MINIAPP && (pe.defaults.adapter = $), e;
				case ye:
					return e.api = t.value, e;
				case Se:
					return e.controllerName = t.value, e;
				default:
					return e
			}
		},
		core: function(e, t) {
			return void 0 === e && (e = $e), t.type === ze + "set-ws" ? (e._ws = t.value, e) : t.type === ze +
				"close-ws" ? (e._ws && e._ws.close(), e) : e
		},
		data: function(e, t) {
			switch (void 0 === e && (e = He), t.type) {
				case Ee:
					e.historyMessageList = t.data.data, e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: t.data.dataFrom
					};
					break;
				case ke:
					e.historyMessageList = Be(t.data.data, He.historyMessageList), e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Me:
					e.historyMessageList = t.data.List || [], e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Oe:
					e.historyMessageList = [], e.historyMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case De:
					e.groupMessageList = t.data.data, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Le:
					e.groupMessageList = Be(He.groupMessageList, t.data.data), e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Re:
					e.groupMessageList = [], e.groupMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case we:
					e.groupId = t.value;
					break;
				default:
					return e
			}
			return e
		},
		cache: function(e, t) {
			switch (void 0 === e && (e = Ve), t.type) {
				case Ee:
					e.historyMessageList = t.data.data, e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: t.data.dataFrom
					};
					break;
				case ke:
					e.historyMessageList = Be(t.data.data, Ve.historyMessageList), e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Me:
					e.historyMessageList = t.data.List, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Oe:
					e.historyMessageList = [], e.historyMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case De:
					e.groupMessageList = t.data.data, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Le:
					e.groupMessageList = Be(Ve.groupMessageList, t.data.data), e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Re:
					e.groupMessageList = [], e.groupMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case we:
					e.groupId = t.value;
					break;
				default:
					return e
			}
			return e
		}
	}),
	Ys = function e(t, n, r) {
		var o;
		if ("function" == typeof n && "function" == typeof r || "function" == typeof r && "function" ==
			typeof arguments[3]) throw new Error(
			"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function."
			);
		if ("function" == typeof n && void 0 === r && (r = n, n = void 0), void 0 !== r) {
			if ("function" != typeof r) throw new Error("Expected the enhancer to be a function.");
			return r(e)(t, n)
		}
		if ("function" != typeof t) throw new Error("Expected the reducer to be a function.");
		var i = t,
			a = n,
			s = [],
			u = s,
			c = !1;

		function f() {
			u === s && (u = s.slice())
		}

		function l() {
			if (c) throw new Error(
				"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store."
				);
			return a
		}

		function d(e) {
			if ("function" != typeof e) throw new Error("Expected the listener to be a function.");
			if (c) throw new Error(
				"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details."
				);
			var t = !0;
			return f(), u.push(e),
				function() {
					if (t) {
						if (c) throw new Error(
							"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details."
							);
						t = !1, f();
						var n = u.indexOf(e);
						u.splice(n, 1), s = null
					}
				}
		}

		function h(e) {
			if (!m(e)) throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
			if (void 0 === e.type) throw new Error(
				'Actions may not have an undefined "type" property. Have you misspelled a constant?');
			if (c) throw new Error("Reducers may not dispatch actions.");
			try {
				c = !0, a = i(a, e)
			} finally {
				c = !1
			}
			for (var t = s = u, n = 0; n < t.length; n++) {
				(0, t[n])()
			}
			return e
		}
		return h({
			type: g.INIT
		}), (o = {
			dispatch: h,
			subscribe: d,
			getState: l,
			replaceReducer: function(e) {
				if ("function" != typeof e) throw new Error("Expected the nextReducer to be a function.");
				i = e, h({
					type: g.REPLACE
				})
			}
		})[p] = function() {
			var e, t = d;
			return (e = {
				subscribe: function(e) {
					if ("object" != typeof e || null === e) throw new TypeError(
						"Expected the observer to be an object.");

					function n() {
						e.next && e.next(l())
					}
					return n(), {
						unsubscribe: t(n)
					}
				}
			})[p] = function() {
				return this
			}, e
		}, o
	}(Vs, (window && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || w)(function() {
		for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
		return function(e) {
			return function() {
				var n = e.apply(void 0, arguments),
					r = function() {
						throw new Error(
							"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch."
							)
					},
					o = {
						getState: n.getState,
						dispatch: function() {
							return r.apply(void 0, arguments)
						}
					},
					i = t.map((function(e) {
						return e(o)
					}));
				return function(e) {
					for (var t = 1; t < arguments.length; t++) {
						var n = null != arguments[t] ? arguments[t] : {};
						t % 2 ? _(n, !0).forEach((function(t) {
							b(e, t, n[t])
						})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e,
							Object.getOwnPropertyDescriptors(n)) : _(n).forEach((function(t) {
							Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(
								n, t))
						}))
					}
					return e
				}({}, n, {
					dispatch: r = w.apply(void 0, i)(n.dispatch)
				})
			}
		}
	}(Ws)));
Ws.run((function() {
	return Fe(this, (function(e) {
		switch (e.label) {
			case 0:
				return [4, cr(xe, Us)];
			case 1:
				return e.sent(), [4, ur(xe, Fs)];
			case 2:
				return e.sent(), [4, ur(je, $s)];
			case 3:
				return e.sent(), [4, ur(Ae, zs)];
			case 4:
				return e.sent(), [4, cr(Ne, Bs)];
			case 5:
				return e.sent(), [4, ur(Ne, Gs)];
			case 6:
				return e.sent(), [4, ur(qe, Hs)];
			case 7:
				return e.sent(), [4, ur(Ce, Qs)];
			case 8:
				return e.sent(), [2]
		}
	}))
}));
var Ks = "core.sendmessage",
	Js = "main.",
	Xs = Js + "onmessage",
	Zs = Js + "sendmessage",
	eu = Js + "onerror",
	tu = Js + "onopen",
	nu = Js + "onclose",
	ru = Js + "sendspecialmessage",
	ou = Js + "info",
	iu = Ys.getState().global,
	au = function() {
		function e() {}
		return e.prototype.init = function() {
			this._connect()
		}, e.prototype._connect = function() {
			this._addListener(), this._wsInit()
		}, e.prototype._addListener = function() {
			var e = this;
			r.unsubscribe(Ks), r.subscribe(Ks, (function(t, n) {
				e._sendMessage(n)
			}))
		}, e.prototype._wsInit = function() {
			wr(ir["core-_connect"], Ys.getState());
			var e = new su;
			this._ws = e, Ys.dispatch({
				type: "core/set-ws",
				value: e
			})
		}, e.prototype._sendMessage = function(e) {
			var t = this._genMessage(e);
			this._ws.send(t)
		}, e.prototype._genMessage = function(e) {
			var t = {
				data: ""
			};
			if (e.eventType === o.SendMsg) {
				var n = e.data.body,
					r = e.data;
				t = {
					data: JSON.stringify({
						clientMsgId: r.clientMsgId,
						messageType: r.type,
						groupId: r.groupId,
						senderUId: r.sender.userId,
						feature: r.feature,
						appType: r.appType,
						body: n
					})
				}
			} else(e.eventType === o.ACK || e.eventType === o.ReadStatus || e.data) && (t = {
				data: JSON.stringify(e.data)
			});
			return Object.assign(t, {
				version: e.version,
				eventType: e.eventType
			}), JSON.stringify(t)
		}, e
	}(),
	su = function() {
		function e() {
			this._connect()
		}
		return e.prototype._connect = function() {
			var e = iu.runtime;
			e.env === u.MINIAPP && this.MINIAPPinitListener(), e.env === u.H5 && this.H5initListener()
		}, e.prototype.H5initListener = function() {
			var e = iu.api.wssurl,
				t = new WebSocket(e);
			this._websocket = t, t.onopen = function() {
				wr(ir["core-_onopen"]), r.publish(tu)
			}, t.onmessage = function(e) {
				wr(ir["core-_onmessage"], JSON.parse(e.data)), r.publish(Xs, e)
			}, t.onerror = function(e) {
				wr(ir["core-_onerror"], e), console.log("WebSocket error: ", e), r.publish(eu, e)
			}, t.onclose = function(e) {
				wr(ir["core-_onclose"], e), r.publish(nu, e)
			}
		}, e.prototype.appEnv = function() {
			return "undefined" != typeof my ? "ali" : "wx"
		}, e.prototype.MINIAPPinitListener = function() {
			var e = Ys.getState().global,
				t = e.api,
				n = e.token,
				o = t.wssurl;
			if (console.log(n), console.log(this.appEnv()), "wx" === this.appEnv()) {
				var i = {
					url: o,
					header: {
						Token: n
					}
				};
				wx.connectSocket(i), wx.onSocketOpen((function() {
					wr(ir["core-_onopen"]), r.publish(tu)
				})), wx.onSocketMessage((function(e) {
					wr(ir["core-_onmessage"], JSON.parse(e.data)), r.publish(Xs, e)
				})), wx.onSocketError((function(e) {
					wr(ir["core-_onerror"], e), r.publish(eu, e)
				})), wx.onSocketClose((function(e) {
					wr(ir["core-_onclose"], e), r.publish(nu, e), console.log("WebSocket close: ", e)
				}))
			} else if ("ali" === this.appEnv()) {
				i = {
					url: o,
					header: {
						Token: n
					},
					success: function(e) {
						console.log("创建socket连接成功" + JSON.stringify(e))
					},
					fail: function(e) {
						console.error("创建连接失败: ", JSON.stringify(e))
					}
				};
				my.connectSocket(i), my.onSocketOpen((function() {
					wr(ir["core-_onopen"]), r.publish(tu)
				})), my.onSocketError((function(e) {
					wr(ir["core-_onerror"], e), r.publish(eu, e)
				})), my.onSocketClose((function(e) {
					wr(ir["core-_onclose"], e), r.publish(nu, e)
				})), my.onSocketMessage((function(e) {
					wr(ir["core-_onmessage"], JSON.parse(e.data)), r.publish(Xs, e)
				}))
			}
		}, e.prototype.close = function() {
			var e = iu.runtime;
			e.env === u.MINIAPP && wx.closeSocket(), e.env === u.H5 && this._websocket && this._websocket.close()
		}, e.prototype.send = function(e) {
			var t = Ys.getState().global.runtime;
			wr(ir["core-_send"], e), t.env === u.MINIAPP && wx.sendSocketMessage({
				data: e
			}), t.env === u.H5 && 1 === this._websocket.readyState && this._websocket.send(e)
		}, e
	}(),
	uu = new au;
var cu = function(e) {
	var t = null == e ? 0 : e.length;
	return t ? e[t - 1] : void 0
};
var fu = function(e, t, n) {
	var r = -1,
		o = e.length;
	t < 0 && (t = -t > o ? 0 : o + t), (n = n > o ? o : n) < 0 && (n += o), o = t > n ? 0 : n - t >>> 0, t >>>= 0;
	for (var i = Array(o); ++r < o;) i[r] = e[r + t];
	return i
};
var lu = function(e, t) {
	return t.length < 2 ? e : ts(e, fu(t, 0, -1))
};
var du = function(e, t) {
		return t = Za(t, e), null == (e = lu(e, t)) || delete e[es(cu(t))]
	},
	pu = Array.prototype.splice;
var hu = function(e, t) {
	for (var n = e ? t.length : 0, r = n - 1; n--;) {
		var o = t[n];
		if (n == r || o !== i) {
			var i = o;
			_o(o) ? pu.call(e, o, 1) : du(e, o)
		}
	}
	return e
};
var gu, mu, vu, yu, bu, _u, wu = function(e, t) {
		var n = [];
		if (!e || !e.length) return n;
		var r = -1,
			o = [],
			i = e.length;
		for (t = ls(t); ++r < i;) {
			var a = e[r];
			t(a, r, e) && (n.push(a), o.push(r))
		}
		return hu(e, o), n
	},
	Su = {
		q: [],
		isRepeat: function(e) {
			var t = e.data,
				n = JSON.parse(t),
				r = n.group.groupId || n.groupId,
				o = n.serverMsgId || 0,
				i = n.clientMsgId,
				a = Su.q,
				s = vr().valueOf(),
				u = !1,
				c = a.filter((function(e) {
					var t = e.saveTime,
						n = e.messagebody,
						a = n.group && n.group.groupId || n.groupId,
						c = n.serverMsgId || 0,
						f = n.clientMsgId;
					return o != c && i != f || r != a || (u = !0), !(s - t > 6e4)
				}));
			return u || c.push({
				messagebody: n,
				saveTime: vr().valueOf()
			}), Su.q = c, u
		}
	},
	Iu = function() {
		function e() {
			this.version = "", this._loginKeeptime = 1e4, this.loginkeepQueue = [], this.loginkeepQueueTimerTimes = 3e4,
				this.CompensateTag = !1, this.sendMessageQueue = [], this.typeSendMsgQueue = [], this.sendMsgDelayTime =
				20, this.retryTimes = 0, this.retryTimesMax = 50, this.initSuccess = !1, this.enableReconnect = !0
		}
		return e.prototype.init = function() {
			this.enableReconnect = !0, this.retryTimesMax = Ys.getState().core.retryTimesMax, clearTimeout(this
				._reTryConnectTimer), this._wsCoreInit()
		}, e.prototype._wsCoreInit = function() {
			wr(ir["main-_wsCoreInit"]), this._wsListener(), uu.init()
		}, e.prototype._wsListener = function() {
			var e = this;
			r.unsubscribe(ou), r.subscribe(ou, (function() {
				r.publish("jest.main.info", e)
			})), r.unsubscribe(Xs), r.subscribe(Xs, (function(t, n) {
				e._onmessage(t, n)
			})), r.unsubscribe(Zs), r.subscribe(Zs, (function(t, n) {
				e._sendMessage(t, n)
			})), r.unsubscribe(eu), r.subscribe(eu, (function(t, n) {
				e._onError(t, n)
			})), r.unsubscribe(nu), r.subscribe(nu, (function(t, n) {
				e._onClose(t, n)
			})), r.unsubscribe(ru), r.subscribe(ru, (function(t, n) {
				e._sendSpecialMessage(n)
			})), wr(ir["main-_addEventListener"])
		}, e.prototype._onError = function(e, t) {
			r.publish(Ts, t)
		}, e.prototype._onClose = function(e, t) {
			wr(ir["main-_onClose"], {
					data: t
				}), this.initSuccess = !1, r.publish(Es, t), yr.warn("main _onClose", vr().format("HH:MM:ss"), t)(),
				this._reTryConnect()
		}, e.prototype._sendMessage = function(e, t) {
			if (this.sendMessageQueue.push(Object.assign({}, t)), t.group.groupId) {
				var n = {
						createTime: t.createTime,
						clientMsgId: t.clientMsgId,
						type: t.messageInfo.type,
						body: JSON.stringify(t.messageInfo.body),
						groupId: t.group.groupId,
						sender: {
							userId: t.owner.userId
						},
						feature: t.feature,
						appType: t.appType
					},
					i = {
						version: this.version,
						eventType: o.SendMsg,
						data: n
					};
				Su.q.push({
					messagebody: i.data,
					saveTime: vr().valueOf()
				}), r.publish(Ks, i)
			} else wr(ir["main-_sendMessageError"], t)
		}, e.prototype._logout = function() {
			var e = {
				eventType: o.LoginOut,
				version: this.version,
				data: ""
			};
			r.publish(Ks, e)
		}, e.prototype._AckMessage = function(e) {
			var t = JSON.parse(e.data),
				n = {
					serverMsgId: t.serverMsgId,
					groupId: t.group.groupId
				},
				i = {
					eventType: o.ACK,
					version: e.version,
					data: n
				};
			r.publish(Ks, i)
		}, e.prototype._sendSpecialMessage = function(e) {
			var t = {
				eventType: e.eventType,
				version: this.version,
				data: e.data
			};
			r.publish(Ks, t)
		}, e.prototype._onmessage = function(e, t) {
			var n = t.data,
				a = JSON.parse(n);
			if (yr.log("_onmessage", a)(), a.eventType !== o.LoginKeep)
				if (a.eventType !== o.REV)
					if (a.eventType !== o.ReceiveMsg) {
						if (a.eventType === o.LOGIN && !0 === a.status) return this.initSuccess = !0, this
							.retryTimes = 0, this.version = a.version, void this._onLoginSuccess(a);
						if (a.eventType === o.LoginOut) return this.enableReconnect = !1, r.publish(js, a),
							void this._closeWs();
						if (a.eventType === o.CustomEvent) {
							var s = JSON.parse(a.data);
							if (s.eventType === i.USER_SPEAK_STATUS) return void r.publish(Cs, s.data);
							if (s.eventType === i.NotifyOtherClient) return void r.publish(Rs, s.data);
							r.publish(Ds, s)
						}
						if (a.eventType !== o.ReadCompensate);
						else {
							var u = JSON.parse(a.data);
							r.publish(Ls, u.groupList)
						}
					} else {
						this._AckMessage(a);
						var c = $r(JSON.parse(a.data));
						if (Su.isRepeat(a) && c.messageInfo.type !== o.Withdraw && c.messageInfo.type !== o
							.TransferTreatment) return;
						r.publish(ks, c)
					}
			else this._onRev(a);
			else this._onRevLoginkeep(a)
		}, e.prototype._reTryConnect = function() {
			this._retry()
		}, e.prototype._retry = function() {
			var e = this;
			clearTimeout(this._reTryConnectTimer), this._reTryConnectTimer = setTimeout((function() {
				if (!1 !== e.enableReconnect)
					if (!0 !== e.initSuccess) {
						if (e.retryTimes > e.retryTimesMax) return clearInterval(e._reTryConnectTimer),
							void r.publish(Os);
						yr.warn("reconnect " + e.retryTimes + " times,be left" + (e.retryTimesMax - e
							.retryTimes) + " times ")(), wr(ir["main-__reTryConnectTimer"], {
							retryTimes: e.retryTimes
						}), e.retryTimes += 1, e._wsCoreInit()
					} else clearInterval(e._reTryConnectTimer);
				else clearInterval(e._reTryConnectTimer)
			}), 5e3)
		}, e.prototype._onRevLoginkeep = function(e) {
			wr(ir["main-_onRevLoginkeep"], e), this.loginkeepQueue.push(e)
		}, e.prototype._onRev = function(e) {
			wr(ir["main-_onRev"], e), this.typeSendMsgQueue.push(e), this._watchMessage()
		}, e.prototype._loginKeep = function() {
			var e = this;
			clearTimeout(this.loginkeepTimer), this.loginkeepTimer = setTimeout((function() {
				e._loginKeep()
			}), this._loginKeeptime), this.CompensateTag && (this._sendCompensate(), this.CompensateTag = !1);
			var t = {
				version: this.version,
				eventType: o.LoginKeep
			};
			wr(ir["main-_loginKeep"], t), r.publish(Ks, t)
		}, e.prototype._sendCompensate = function() {
			r.publish("jest.main.CompensateTag");
			var e = {
				version: this.version,
				eventType: o.Compensate
			};
			if (Ys.getState().global.db) {
				var t = Ys.getState().data,
					n = t.groupId,
					i = t.historyMessageList,
					a = -1;
				n > 0 && i.length > 0 && (i.forEach((function(e) {
					e.serverMsgId && (a = e.serverMsgId)
				})), e.data = {
					groupId: n,
					lastMsgId: a
				})
			}
			wr(ir["main-compensateTag"], e), r.publish(Ks, e), yr.log("查询消息补偿", e)()
		}, e.prototype._onLoginSuccess = function(e) {
			this._sendCompensate(), this._watchLoginKeep(), this._loginKeep(), r.publish(Is, e), this
				._sendMessageWatch()
		}, e.prototype._sendMessageWatch = function() {
			var e = this;
			clearTimeout(this.sendMessageTimeoutTimer), wr(ir["main-_sendMessageWatch"]), this
				.sendMessageTimeoutTimer = setTimeout((function() {
					yr.log("message sending timer running")();
					var t = e.sendMessageQueue,
						n = vr();
					wu(t, (function(t) {
						var o = t.createTime,
							i = n.diff(vr(o), "second");
						return e.initSuccess ? i > e.sendMsgDelayTime ? (wr(ir[
							"main-_sendMessageTimeOut"], {
							message: t,
							errorMessage: "消息超时"
						}), r.publish(Ms, {
							message: t,
							errorMessage: "消息超时"
						}), !0) : void 0 : (wr(ir["main-_sendMessageTimeOut"], {
							message: t,
							errorMessage: "与服务器断开"
						}), r.publish(Ms, {
							message: t,
							errorMessage: "与服务器断开"
						}), !0)
					})), e._sendMessageWatch()
				}), 1e4)
		}, e.prototype._watchMessage = function() {
			var e = this.typeSendMsgQueue,
				t = this.sendMessageQueue;
			wu(t, (function(t) {
				var n = t.clientMsgId,
					o = !1;
				return wu(e, (function(e) {
					var i = JSON.parse(e.data);
					if (n === i.clientMsgId) return wr(ir["main-_watchMessage"], {
						v: t,
						el: e
					}), o = !0, e.status || r.publish(Ms, {
						message: t,
						errorMessage: e.errorMessage
					}), e.status && (t.createTime = i.createTime, t.serverMsgId = i
						.serverMsgId, r.publish(xs, {
							message: t
						})), !0
				})), o
			}))
		}, e.prototype._closeWs = function() {
			wr(ir["main-_closeWs"]), this._clearTimer(), Ys.dispatch({
				type: "core/close-ws"
			})
		}, e.prototype._watchLoginKeep = function() {
			var e = this;
			this.loginkeepQueue = [], clearTimeout(this.loginkeepQueueTimer), this.loginkeepQueueTimer = setTimeout(
				(function() {
					if (wr(ir["main-_watchLoginKeep"], {
							loginkeepQueue: e.loginkeepQueue.length
						}), yr.log("_watchLoginKeep", e.loginkeepQueue.length)(), e.loginkeepQueue.length <
						1) return e._closeWs(), void r.publish("jest.main.loginkeepQueueLess1");
					e.loginkeepQueue.length < 2 && (e.CompensateTag = !0), e._watchLoginKeep()
				}), this.loginkeepQueueTimerTimes)
		}, e.prototype._clearTimer = function() {
			clearTimeout(this.loginkeepQueueTimer), clearTimeout(this.loginkeepTimer)
		}, e.prototype._destory = function() {
			this._clearTimer(), this.enableReconnect = !1, yr.log("user _destory")(), Ys.dispatch({
				type: "core/close-ws"
			})
		}, e
	}(),
	Tu = new Iu,
	Eu = "drugstore.",
	ku = Eu + "question",
	Mu = Eu + "endQuestion",
	xu = Eu + "changeGroup",
	Ou = Eu + "findDoctorError",
	ju = Eu + "queueDone",
	Au = Eu + "queueMessage",
	Nu = Eu + "queueCancel",
	Cu = Eu + "queueTimeOut",
	Du = Eu + "findDoctorSuccess",
	Lu = {
		QA: "https://static.foryor-in.com/dms/44b9aa6303dc9e68e1e3f1e80813dd27.json",
		PRE: "https://static.foryor-in.com/dms/af204e1f3c4d5c584de9e7f331f975be.json",
		ONLINE: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json",
		TR: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json",
		TRQA: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json"
	},
	Ru = function() {
		return Ue(this, void 0, void 0, (function() {
			var e, t;
			return Fe(this, (function(n) {
				switch (n.label) {
					case 0:
						return e = Ys.getState().global.runtime.apigw, t = Lu[e], [4, Tr.get(
						t, {
							withCredentials: !1
						})];
					case 1:
						return [2, n.sent().data]
				}
			}))
		}))
	},
	qu = function(e) {
		return Ue(this, void 0, void 0, (function() {
			var t, n;
			return Fe(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = Ys.getState().global.api, n = t.getAdvisoryInfo, [4, Tr.post(
							n, e, {
								timeout: 5e3
							})];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	Pu = function(e) {
		return Ue(this, void 0, void 0, (function() {
			var t, n;
			return Fe(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = Ys.getState().global.api, n = t.getWaitConsultationInfo, [4,
							Tr.get(n, {
								params: e
							})
						];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	$u = function(e) {
		return Ue(this, void 0, void 0, (function() {
			var t, n;
			return Fe(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = Ys.getState().global.api, n = t.getQuestion, [4, Tr.post(n,
							e)];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	zu = function(e) {
		return Ue(this, void 0, void 0, (function() {
			var t, n;
			return Fe(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = Ys.getState().global.api, n = t.answerQuestion, [4, Tr.post(
							n, e)];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	};
! function(e) {
	e[e.INIT = 0] = "INIT", e[e.DONE = 1] = "DONE", e[e.CANCEL = 2] = "CANCEL", e[e.TIMEOUTCANCEL = 3] = "TIMEOUTCANCEL"
}(gu || (gu = {})),
function(e) {
	e.UNSTART = "UNSTART", e.FIND_DOCTOR = "FIND_DOCTOR", e.START = "START", e.CANCEL = "CANCEL", e.REJECT = "REJECT", e
		.EXPIRE = "EXPIRE", e.END = "END"
}(mu || (mu = {})),
function(e) {
	e.ADVISORY = "ADVISORY", e.PRESCRIPTION = "PRESCRIPTION"
}(vu || (vu = {})),
function(e) {
	e.SINGLE_CHOICE = "SINGLE_CHOICE", e.MULTIPLE_CHOICE = "MULTIPLE_CHOICE", e.MULTIPLE_CHOICE_INPUT =
		"MULTIPLE_CHOICE_INPUT"
}(yu || (yu = {})),
function(e) {
	e.advisoryFinish = "advisoryFinish", e.advisoryEnd = "advisoryEnd", e.apiError = "apiError"
}(bu || (bu = {})),
function(e) {
	e.apierror = "apierror", e.REJECT = "REJECT", e.AdvisoryCancel = "AdvisoryCancel", e.EXPIRE = "EXPIRE", e
		.FINDDOCTORERROR = "FINDDOCTORERROR", e.advisoryFinish = "advisoryFinish"
}(_u || (_u = {}));
var Qu = qu,
	Uu = $u,
	Fu = zu,
	Bu = Pu,
	Gu = Ru,
	Hu = vu.ADVISORY,
	Wu = vu.PRESCRIPTION,
	Vu = bu.advisoryEnd,
	Yu = bu.advisoryFinish,
	Ku = bu.apiError,
	Ju = gu.DONE,
	Xu = gu.TIMEOUTCANCEL,
	Zu = gu.CANCEL,
	ec = mu.UNSTART,
	tc = mu.START,
	nc = mu.END,
	rc = mu.EXPIRE,
	oc = mu.REJECT,
	ic = mu.FIND_DOCTOR,
	ac = mu.CANCEL,
	sc = function() {
		function e(e) {
			this.questionMessage = {
					advisoryId: null,
					advisoryStatus: null,
					answers: null,
					choiceNumber: null,
					isEndQuestion: null,
					questionCode: null,
					questionFromSource: null,
					questionText: null,
					questionType: null
				}, this.findDoctorRequestConfig = {
					timer: 10,
					times: 9999
				}, this.queueRequestConfig = {
					queueTimer: 10,
					queueTimes: 9999
				}, wr(ir["guideDiagnosis.common"], {
					text: "初始化导诊",
					data: e
				}), yr.log("初始化导诊", e)(), this.advisoryStatus = ec, this.fromSource = vu.ADVISORY, this
				.findDoctorTimes = 1, this.waitQueueTimes = 1, this.findDoctorError = null, this.waitQueueMessage = {},
				this.Listener = {
					__proto: r,
					subscribe: function(e, t) {
						r.unsubscribe(e), r.subscribe(e, t)
					},
					publish: function(e, t) {
						r.publish(e, t)
					}
				}, this.userInitMessage = e, this.advisoryId = e.advisoryId
		}
		return e.prototype.INIT = function() {
			return Ue(this, void 0, void 0, (function() {
				return Fe(this, (function(e) {
					switch (e.label) {
						case 0:
							return e.trys.push([0, 2, , 3]), [4, this.fetchDMS()];
						case 1:
							return e.sent(), wr(ir["guideDiagnosis.common"], {
								text: "dms获取成功"
							}), [3, 3];
						case 2:
							return e.sent(), wr(ir["guideDiagnosis.common"], {
								text: "dms超时"
							}), yr.error("DMS超时走默认逻辑")(), [3, 3];
						case 3:
							return [4, this._getAdvisoryInfo()];
						case 4:
							return e.sent(), [2]
					}
				}))
			}))
		}, e.prototype.changeAdvId = function(e) {
			this.advisoryId = e
		}, e.prototype.fetchDMS = function() {
			return Ue(this, void 0, void 0, (function() {
				var e;
				return Fe(this, (function(t) {
					switch (t.label) {
						case 0:
							return [4, Gu()];
						case 1:
							return e = t.sent(), this.findDoctorRequestConfig = {
								timer: parseInt(e.timer),
								times: parseInt(e.times)
							}, this.queueRequestConfig = {
								queueTimer: parseInt(e.queueTimer),
								queueTimes: parseInt(e.queueTimes)
							}, [2]
					}
				}))
			}))
		}, e.prototype._getAdvisoryInfo = function() {
			return Ue(this, void 0, void 0, (function() {
				var e, t;
				return Fe(this, (function(n) {
					switch (n.label) {
						case 0:
							return [4, Qu({
								advisoryId: this.advisoryId,
								fromSource: vu.ADVISORY
							})];
						case 1:
							return e = n.sent(), wr(ir["guideDiagnosis.common"], {
								text: "_getAdvisoryInfo",
								data: e
							}), e.ok ? (t = e.result, this.advisoryStatus = t
								.advisoryStatus, this.fromSource = t.fromSource, this
								._resolveAdvisory(t), [2]) : (this._endQuestion({
								type: bu.apiError,
								text: e.error.message,
								endType: _u.apierror
							}), [2])
					}
				}))
			}))
		}, e.prototype._resolveAdvisory = function(e) {
			return Ue(this, void 0, void 0, (function() {
				var t, n;
				return Fe(this, (function(r) {
					switch (r.label) {
						case 0:
							return wr(ir["guideDiagnosis.common"], {
									text: "_resolveAdvisory",
									data: this.advisoryStatus
								}), this.advisoryStatus == ic ? (this._changeDoctor(), [
								2]) : (this.advisoryStatus == ac && (this.Listener.publish(
									xu, Qe(Qe({}, e), {
										group: {
											groupId: e.groupId
										}
									})), this._endQuestion({
									type: Vu,
									text: "当前导诊单已取消",
									endType: _u.AdvisoryCancel
								})), this.advisoryStatus == oc && (this.Listener
									.publish(xu, Qe(Qe({}, e), {
										group: {
											groupId: e.groupId
										}
									})), this._endQuestion({
										type: Vu,
										text: "咨询单被拒绝",
										endType: _u.REJECT
									})), this.advisoryStatus == rc && (this
									._endQuestion({
										type: Vu,
										text: "咨询单超时",
										endType: _u.EXPIRE
									}), this.Listener.publish(xu, Qe(Qe({}, e), {
										group: {
											groupId: e.groupId
										}
									}))), this.advisoryStatus != tc ? [3, 2] : (this
									.Listener.publish(xu, Qe(Qe({}, e), {
										group: {
											groupId: e.groupId
										}
									})), [4, this._getQuestions()]));
						case 1:
							return (t = r.sent()).ok || this._endQuestion({
								type: Ku,
								text: t.error.message,
								endType: _u.apierror
							}), n = t.result, [2, this._startQuestions(n)];
						case 2:
							return this.advisoryStatus == nc && (this.Listener.publish(xu,
								Qe(Qe({}, e), {
									group: {
										groupId: e.groupId
									}
								})), this._changeDoctor()), [2]
					}
				}))
			}))
		}, e.prototype.retry_changeDoctor = function() {
			this.findDoctorTimes = 0, this._changeDoctor()
		}, e.prototype._changeDoctor = function() {
			return Ue(this, void 0, void 0, (function() {
				var e, t, n, r, o, i, a, s, u, c, f = this;
				return Fe(this, (function(l) {
					switch (l.label) {
						case 0:
							if (this.fromSource = Wu, e = 1e3 * this.findDoctorRequestConfig
								.timer || 1e4, t = this.findDoctorRequestConfig.times || 12,
								wr(ir["guideDiagnosis.common"], {
									text: "_changeDoctor",
									data: {
										findDoctorTimes: this.findDoctorTimes
									}
								}), this.findDoctorTimes >= t) return clearTimeout(this
									.findDoctorRequestConfig.timeout), this
								._emitDoctorError(), [2];
							l.label = 1;
						case 1:
							return l.trys.push([1, 6, , 7]), [4, Qu({
								advisoryId: this.advisoryId,
								fromSource: Wu
							})];
						case 2:
							return n = l.sent(), this.findDoctorRequestConfig.timeout =
								setTimeout((function() {
									f.findDoctorTimes += 1, f._changeDoctor()
								}), e), o = (r = n).result, i = r.ok, wr(ir[
									"guideDiagnosis.common"], {
									text: "_changeDoctor_api",
									data: {
										ConsultInfo: o,
										ok: i
									}
								}), i ? (clearTimeout(this.findDoctorRequestConfig.timeout),
									this.Listener.publish(Du, {
										ConsultInfo: o
									}), this.Listener.publish(xu, Qe(Qe({}, o), {
										group: {
											groupId: o.groupId
										}
									})), (a = o.lineId) ? (this._queueHandler(a), [3, 5]) :
									[3, 3]) : [3, 5];
						case 3:
							return [4, this._getQuestions({
								advisoryId: this.advisoryId,
								questionFromSource: Wu
							})];
						case 4:
							return s = l.sent(), u = s.result, setTimeout((function() {
								f._startQuestions(u)
							}), 0), this.Listener.publish(ju, {
								status: 1
							}), [2];
						case 5:
							return i || ("TIMEOUT" != (c = n.error).code && "-99" != c
								.code && (yr.error("查找医生异常", c)(), clearTimeout(this
										.findDoctorRequestConfig.timeout), this
									._endQuestion({
										type: Vu,
										text: c.message + " (" + c.code + ")",
										endType: _u.FINDDOCTORERROR
									})), this.findDoctorError = n), [3, 7];
						case 6:
							return l.sent(), this.findDoctorRequestConfig.timeout =
								setTimeout((function() {
									f.findDoctorTimes += 1, f._changeDoctor()
								}), e), [3, 7];
						case 7:
							return [2]
					}
				}))
			}))
		}, e.prototype._queueHandler = function(e) {
			return Ue(this, void 0, void 0, (function() {
				var t, n, r, o, i, a, s, u, c, f, l = this;
				return Fe(this, (function(d) {
					switch (d.label) {
						case 0:
							if (t = this.queueRequestConfig, n = t.queueTimer, r = t
								.queueTimes, o = 1e3 * n || 1e4, i = r || 10, this
								.waitQueueTimes >= i) return clearTimeout(this
								.queueRequestConfig.timeout), this
							._emitDoctorError(), [2];
							d.label = 1;
						case 1:
							return d.trys.push([1, 3, , 4]), [4, Bu({
								consultationId: e
							})];
						case 2:
							return a = d.sent(), clearTimeout(this.queueRequestConfig
								.timeout), this.queueRequestConfig.timeout = setTimeout(
								(function() {
									l.waitQueueTimes += 1, l._queueHandler(e)
								}), o), s = function() {
								clearTimeout(l.waitQueueMessage.timeout), l
									.waitQueueMessage.timeout = setTimeout(s, 1e3);
								var e = function() {
										var e = l.waitQueueMessage.startTime;
										if (!e) return 0;
										var t = Date.now() - e;
										return t < 0 ? 0 : t
									}(),
									t = vr(e).format("mm:ss"),
									n = l.waitQueueMessage;
								n.status !== Ju ? n.status !== Zu ? n.status !== Xu ? l
									.Listener.publish(Au, Qe(Qe({}, n), {
										waitTime: t
									})) : l._queueTimeOut() : l._queueCancel() : l
									._queueDone()
							}, this.waitQueueMessage.timeout = setTimeout(s, 0), c = (
								u = a).result, !0 === u.ok && (this.waitQueueMessage =
								Qe({}, c)), [3, 4];
						case 3:
							return f = d.sent(), this._clearQueueTimer(), yr.error("排队异常",
								f)(), this.queueRequestConfig.timeout = setTimeout((
								function() {
									l.waitQueueTimes += 1, l._queueHandler(e)
								}), o), [3, 4];
						case 4:
							return [2]
					}
				}))
			}))
		}, e.prototype._queueDone = function() {
			this._clearQueueTimer(), this.Listener.publish(ju, Qe({}, this.waitQueueMessage))
		}, e.prototype._queueCancel = function() {
			this._clearQueueTimer(), this.Listener.publish(Nu, Qe({}, this.waitQueueMessage))
		}, e.prototype._queueTimeOut = function() {
			this._clearQueueTimer(), this.Listener.publish(Cu, Qe({}, this.waitQueueMessage))
		}, e.prototype._clearQueueTimer = function() {
			clearTimeout(this.queueRequestConfig.timeout), clearTimeout(this.waitQueueMessage.timeout)
		}, e.prototype._emitDoctorError = function() {
			this.Listener.publish(Ou, this.findDoctorError)
		}, e.prototype._startQuestions = function(e) {
			this.questionMessage = e;
			var t = e.advisoryStatus,
				n = this.fromSource;
			if (wr(ir["guideDiagnosis.common"], {
					text: "_startQuestions",
					data: {
						fromSource: n,
						status: t
					}
				}), wr(ir["guideDiagnosis.common"], {
					text: "questionMessage",
					data: e
				}), n == Hu) {
				if (t == nc && e.isEndQuestion) return this._changeDoctor();
				if (t != oc && t != rc && t != ac) return this.Listener.publish(ku, e);
				t == oc && this._endQuestion({
					type: Vu,
					text: "当前导诊单被拒绝",
					endType: _u.REJECT
				}), t == rc && this._endQuestion({
					type: Vu,
					text: "当前导诊单已超时",
					endType: _u.EXPIRE
				}), t == ac && this._endQuestion({
					type: Vu,
					text: "当前导诊单已取消",
					endType: _u.AdvisoryCancel
				})
			}
			if (n == Wu) return e.isEndQuestion ? this._endQuestion({
				type: Yu,
				text: "当前导诊已完成",
				endType: _u.advisoryFinish
			}) : this.Listener.publish(ku, e)
		}, e.prototype.answerQs = function(e) {
			return Ue(this, void 0, void 0, (function() {
				var t, n, r, o, i = this;
				return Fe(this, (function(a) {
					switch (a.label) {
						case 0:
							return t = this.questionMessage, n = Qe(Qe({}, e), {
								questionCode: e.questionCode || t.questionCode,
								advisoryId: this.advisoryId,
								questionFromSource: e.questionFromSource || t
									.questionFromSource
							}), wr(ir["guideDiagnosis.common"], {
								text: "answerQs",
								data: n
							}), [4, Fu(n)];
						case 1:
							return r = a.sent(), wr(ir["guideDiagnosis.common"], {
								text: "answerQs_res",
								data: r
							}), r.ok ? this.fromSource == Wu && r.isEndQuestion ? [2,
								this._endQuestion({
									type: Yu,
									text: "当前导诊已完成",
									endType: _u.advisoryFinish
								})
							] : (o = r.result, setTimeout((function() {
								i._startQuestions(o)
							}), 0), [2, !0]) : (this._endQuestion({
								type: Ku,
								text: r.error.message,
								endType: _u.apierror
							}), [2, !1])
					}
				}))
			}))
		}, e.prototype._getQuestions = function(e) {
			return Ue(this, void 0, void 0, (function() {
				return Fe(this, (function(t) {
					switch (t.label) {
						case 0:
							return e ? [4, Uu(e)] : [3, 2];
						case 1:
							return [2, t.sent()];
						case 2:
							return [4, Uu({
								advisoryId: this.advisoryId,
								questionFromSource: this.fromSource
							})];
						case 3:
							return [2, t.sent()]
					}
				}))
			}))
		}, e.prototype._endQuestion = function(e) {
			var t = e.type,
				n = e.text,
				r = e.endType;
			this.Listener.publish(Mu, {
				type: t,
				text: n,
				endType: r
			})
		}, e
	}(),
	uc = "onGetHistory";

function cc() {
	var e = {
		"align-content": !1,
		"align-items": !1,
		"align-self": !1,
		"alignment-adjust": !1,
		"alignment-baseline": !1,
		all: !1,
		"anchor-point": !1,
		animation: !1,
		"animation-delay": !1,
		"animation-direction": !1,
		"animation-duration": !1,
		"animation-fill-mode": !1,
		"animation-iteration-count": !1,
		"animation-name": !1,
		"animation-play-state": !1,
		"animation-timing-function": !1,
		azimuth: !1,
		"backface-visibility": !1,
		background: !0,
		"background-attachment": !0,
		"background-clip": !0,
		"background-color": !0,
		"background-image": !0,
		"background-origin": !0,
		"background-position": !0,
		"background-repeat": !0,
		"background-size": !0,
		"baseline-shift": !1,
		binding: !1,
		bleed: !1,
		"bookmark-label": !1,
		"bookmark-level": !1,
		"bookmark-state": !1,
		border: !0,
		"border-bottom": !0,
		"border-bottom-color": !0,
		"border-bottom-left-radius": !0,
		"border-bottom-right-radius": !0,
		"border-bottom-style": !0,
		"border-bottom-width": !0,
		"border-collapse": !0,
		"border-color": !0,
		"border-image": !0,
		"border-image-outset": !0,
		"border-image-repeat": !0,
		"border-image-slice": !0,
		"border-image-source": !0,
		"border-image-width": !0,
		"border-left": !0,
		"border-left-color": !0,
		"border-left-style": !0,
		"border-left-width": !0,
		"border-radius": !0,
		"border-right": !0,
		"border-right-color": !0,
		"border-right-style": !0,
		"border-right-width": !0,
		"border-spacing": !0,
		"border-style": !0,
		"border-top": !0,
		"border-top-color": !0,
		"border-top-left-radius": !0,
		"border-top-right-radius": !0,
		"border-top-style": !0,
		"border-top-width": !0,
		"border-width": !0,
		bottom: !1,
		"box-decoration-break": !0,
		"box-shadow": !0,
		"box-sizing": !0,
		"box-snap": !0,
		"box-suppress": !0,
		"break-after": !0,
		"break-before": !0,
		"break-inside": !0,
		"caption-side": !1,
		chains: !1,
		clear: !0,
		clip: !1,
		"clip-path": !1,
		"clip-rule": !1,
		color: !0,
		"color-interpolation-filters": !0,
		"column-count": !1,
		"column-fill": !1,
		"column-gap": !1,
		"column-rule": !1,
		"column-rule-color": !1,
		"column-rule-style": !1,
		"column-rule-width": !1,
		"column-span": !1,
		"column-width": !1,
		columns: !1,
		contain: !1,
		content: !1,
		"counter-increment": !1,
		"counter-reset": !1,
		"counter-set": !1,
		crop: !1,
		cue: !1,
		"cue-after": !1,
		"cue-before": !1,
		cursor: !1,
		direction: !1,
		display: !0,
		"display-inside": !0,
		"display-list": !0,
		"display-outside": !0,
		"dominant-baseline": !1,
		elevation: !1,
		"empty-cells": !1,
		filter: !1,
		flex: !1,
		"flex-basis": !1,
		"flex-direction": !1,
		"flex-flow": !1,
		"flex-grow": !1,
		"flex-shrink": !1,
		"flex-wrap": !1,
		float: !1,
		"float-offset": !1,
		"flood-color": !1,
		"flood-opacity": !1,
		"flow-from": !1,
		"flow-into": !1,
		font: !0,
		"font-family": !0,
		"font-feature-settings": !0,
		"font-kerning": !0,
		"font-language-override": !0,
		"font-size": !0,
		"font-size-adjust": !0,
		"font-stretch": !0,
		"font-style": !0,
		"font-synthesis": !0,
		"font-variant": !0,
		"font-variant-alternates": !0,
		"font-variant-caps": !0,
		"font-variant-east-asian": !0,
		"font-variant-ligatures": !0,
		"font-variant-numeric": !0,
		"font-variant-position": !0,
		"font-weight": !0,
		grid: !1,
		"grid-area": !1,
		"grid-auto-columns": !1,
		"grid-auto-flow": !1,
		"grid-auto-rows": !1,
		"grid-column": !1,
		"grid-column-end": !1,
		"grid-column-start": !1,
		"grid-row": !1,
		"grid-row-end": !1,
		"grid-row-start": !1,
		"grid-template": !1,
		"grid-template-areas": !1,
		"grid-template-columns": !1,
		"grid-template-rows": !1,
		"hanging-punctuation": !1,
		height: !0,
		hyphens: !1,
		icon: !1,
		"image-orientation": !1,
		"image-resolution": !1,
		"ime-mode": !1,
		"initial-letters": !1,
		"inline-box-align": !1,
		"justify-content": !1,
		"justify-items": !1,
		"justify-self": !1,
		left: !1,
		"letter-spacing": !0,
		"lighting-color": !0,
		"line-box-contain": !1,
		"line-break": !1,
		"line-grid": !1,
		"line-height": !1,
		"line-snap": !1,
		"line-stacking": !1,
		"line-stacking-ruby": !1,
		"line-stacking-shift": !1,
		"line-stacking-strategy": !1,
		"list-style": !0,
		"list-style-image": !0,
		"list-style-position": !0,
		"list-style-type": !0,
		margin: !0,
		"margin-bottom": !0,
		"margin-left": !0,
		"margin-right": !0,
		"margin-top": !0,
		"marker-offset": !1,
		"marker-side": !1,
		marks: !1,
		mask: !1,
		"mask-box": !1,
		"mask-box-outset": !1,
		"mask-box-repeat": !1,
		"mask-box-slice": !1,
		"mask-box-source": !1,
		"mask-box-width": !1,
		"mask-clip": !1,
		"mask-image": !1,
		"mask-origin": !1,
		"mask-position": !1,
		"mask-repeat": !1,
		"mask-size": !1,
		"mask-source-type": !1,
		"mask-type": !1,
		"max-height": !0,
		"max-lines": !1,
		"max-width": !0,
		"min-height": !0,
		"min-width": !0,
		"move-to": !1,
		"nav-down": !1,
		"nav-index": !1,
		"nav-left": !1,
		"nav-right": !1,
		"nav-up": !1,
		"object-fit": !1,
		"object-position": !1,
		opacity: !1,
		order: !1,
		orphans: !1,
		outline: !1,
		"outline-color": !1,
		"outline-offset": !1,
		"outline-style": !1,
		"outline-width": !1,
		overflow: !1,
		"overflow-wrap": !1,
		"overflow-x": !1,
		"overflow-y": !1,
		padding: !0,
		"padding-bottom": !0,
		"padding-left": !0,
		"padding-right": !0,
		"padding-top": !0,
		page: !1,
		"page-break-after": !1,
		"page-break-before": !1,
		"page-break-inside": !1,
		"page-policy": !1,
		pause: !1,
		"pause-after": !1,
		"pause-before": !1,
		perspective: !1,
		"perspective-origin": !1,
		pitch: !1,
		"pitch-range": !1,
		"play-during": !1,
		position: !1,
		"presentation-level": !1,
		quotes: !1,
		"region-fragment": !1,
		resize: !1,
		rest: !1,
		"rest-after": !1,
		"rest-before": !1,
		richness: !1,
		right: !1,
		rotation: !1,
		"rotation-point": !1,
		"ruby-align": !1,
		"ruby-merge": !1,
		"ruby-position": !1,
		"shape-image-threshold": !1,
		"shape-outside": !1,
		"shape-margin": !1,
		size: !1,
		speak: !1,
		"speak-as": !1,
		"speak-header": !1,
		"speak-numeral": !1,
		"speak-punctuation": !1,
		"speech-rate": !1,
		stress: !1,
		"string-set": !1,
		"tab-size": !1,
		"table-layout": !1,
		"text-align": !0,
		"text-align-last": !0,
		"text-combine-upright": !0,
		"text-decoration": !0,
		"text-decoration-color": !0,
		"text-decoration-line": !0,
		"text-decoration-skip": !0,
		"text-decoration-style": !0,
		"text-emphasis": !0,
		"text-emphasis-color": !0,
		"text-emphasis-position": !0,
		"text-emphasis-style": !0,
		"text-height": !0,
		"text-indent": !0,
		"text-justify": !0,
		"text-orientation": !0,
		"text-overflow": !0,
		"text-shadow": !0,
		"text-space-collapse": !0,
		"text-transform": !0,
		"text-underline-position": !0,
		"text-wrap": !0,
		top: !1,
		transform: !1,
		"transform-origin": !1,
		"transform-style": !1,
		transition: !1,
		"transition-delay": !1,
		"transition-duration": !1,
		"transition-property": !1,
		"transition-timing-function": !1,
		"unicode-bidi": !1,
		"vertical-align": !1,
		visibility: !1,
		"voice-balance": !1,
		"voice-duration": !1,
		"voice-family": !1,
		"voice-pitch": !1,
		"voice-range": !1,
		"voice-rate": !1,
		"voice-stress": !1,
		"voice-volume": !1,
		volume: !1,
		"white-space": !1,
		widows: !1,
		width: !0,
		"will-change": !1,
		"word-break": !0,
		"word-spacing": !0,
		"word-wrap": !0,
		"wrap-flow": !1,
		"wrap-through": !1,
		"writing-mode": !1,
		"z-index": !1
	};
	return e
}
var fc = /javascript\s*\:/gim;
var lc = {
		whiteList: cc(),
		getDefaultWhiteList: cc,
		onAttr: function(e, t, n) {},
		onIgnoreAttr: function(e, t, n) {},
		safeAttrValue: function(e, t) {
			return fc.test(t) ? "" : t
		}
	},
	dc = function(e) {
		return String.prototype.trim ? e.trim() : e.replace(/(^\s*)|(\s*$)/g, "")
	},
	pc = function(e) {
		return String.prototype.trimRight ? e.trimRight() : e.replace(/(\s*$)/g, "")
	};
var hc = function(e, t) {
	";" !== (e = pc(e))[e.length - 1] && (e += ";");
	var n = e.length,
		r = !1,
		o = 0,
		i = 0,
		a = "";

	function s() {
		if (!r) {
			var n = dc(e.slice(o, i)),
				s = n.indexOf(":");
			if (-1 !== s) {
				var u = dc(n.slice(0, s)),
					c = dc(n.slice(s + 1));
				if (u) {
					var f = t(o, a.length, u, c, n);
					f && (a += f + "; ")
				}
			}
		}
		o = i + 1
	}
	for (; i < n; i++) {
		var u = e[i];
		if ("/" === u && "*" === e[i + 1]) {
			var c = e.indexOf("*/", i + 2);
			if (-1 === c) break;
			o = (i = c + 1) + 1, r = !1
		} else "(" === u ? r = !0 : ")" === u ? r = !1 : ";" === u ? r || s() : "\n" === u && s()
	}
	return dc(a)
};

function gc(e) {
	return null == e
}

function mc(e) {
	e = function(e) {
			var t = {};
			for (var n in e) t[n] = e[n];
			return t
		}(e || {}), e.whiteList = e.whiteList || lc.whiteList, e.onAttr = e.onAttr || lc.onAttr, e.onIgnoreAttr = e
		.onIgnoreAttr || lc.onIgnoreAttr, e.safeAttrValue = e.safeAttrValue || lc.safeAttrValue, this.options = e
}
mc.prototype.process = function(e) {
	if (!(e = (e = e || "").toString())) return "";
	var t = this.options,
		n = t.whiteList,
		r = t.onAttr,
		o = t.onIgnoreAttr,
		i = t.safeAttrValue,
		a = hc(e, (function(e, t, a, s, u) {
			var c = n[a],
				f = !1;
			if (!0 === c ? f = c : "function" == typeof c ? f = c(s) : c instanceof RegExp && (f = c.test(
					s)), !0 !== f && (f = !1), s = i(a, s)) {
				var l, d = {
					position: t,
					sourcePosition: e,
					source: u,
					isWhite: f
				};
				return f ? gc(l = r(a, s, d)) ? a + ":" + s : l : gc(l = o(a, s, d)) ? void 0 : l
			}
		}));
	return a
};
var vc = mc,
	yc = n((function(e, t) {
		for (var n in (t = e.exports = function(e, t) {
				return new vc(t).process(e)
			}).FilterCSS = vc, lc) t[n] = lc[n];
		"undefined" != typeof window && (window.filterCSS = e.exports)
	})),
	bc = (yc.FilterCSS, {
		indexOf: function(e, t) {
			var n, r;
			if (Array.prototype.indexOf) return e.indexOf(t);
			for (n = 0, r = e.length; n < r; n++)
				if (e[n] === t) return n;
			return -1
		},
		forEach: function(e, t, n) {
			var r, o;
			if (Array.prototype.forEach) return e.forEach(t, n);
			for (r = 0, o = e.length; r < o; r++) t.call(n, e[r], r, e)
		},
		trim: function(e) {
			return String.prototype.trim ? e.trim() : e.replace(/(^\s*)|(\s*$)/g, "")
		},
		spaceIndex: function(e) {
			var t = /\s|\n|\t/.exec(e);
			return t ? t.index : -1
		}
	}),
	_c = yc.FilterCSS,
	wc = yc.getDefaultWhiteList;

function Sc() {
	return {
		a: ["target", "href", "title"],
		abbr: ["title"],
		address: [],
		area: ["shape", "coords", "href", "alt"],
		article: [],
		aside: [],
		audio: ["autoplay", "controls", "loop", "preload", "src"],
		b: [],
		bdi: ["dir"],
		bdo: ["dir"],
		big: [],
		blockquote: ["cite"],
		br: [],
		caption: [],
		center: [],
		cite: [],
		code: [],
		col: ["align", "valign", "span", "width"],
		colgroup: ["align", "valign", "span", "width"],
		dd: [],
		del: ["datetime"],
		details: ["open"],
		div: [],
		dl: [],
		dt: [],
		em: [],
		font: ["color", "size", "face"],
		footer: [],
		h1: [],
		h2: [],
		h3: [],
		h4: [],
		h5: [],
		h6: [],
		header: [],
		hr: [],
		i: [],
		img: ["src", "alt", "title", "width", "height"],
		ins: ["datetime"],
		li: [],
		mark: [],
		nav: [],
		ol: [],
		p: [],
		pre: [],
		s: [],
		section: [],
		small: [],
		span: [],
		sub: [],
		sup: [],
		strong: [],
		table: ["width", "border", "align", "valign"],
		tbody: ["align", "valign"],
		td: ["width", "rowspan", "colspan", "align", "valign"],
		tfoot: ["align", "valign"],
		th: ["width", "rowspan", "colspan", "align", "valign"],
		thead: ["align", "valign"],
		tr: ["rowspan", "align", "valign"],
		tt: [],
		u: [],
		ul: [],
		video: ["autoplay", "controls", "loop", "preload", "src", "height", "width"]
	}
}
var Ic = new _c;

function Tc(e) {
	return e.replace(Ec, "&lt;").replace(kc, "&gt;")
}
var Ec = /</g,
	kc = />/g,
	Mc = /"/g,
	xc = /&quot;/g,
	Oc = /&#([a-zA-Z0-9]*);?/gim,
	jc = /&colon;?/gim,
	Ac = /&newline;?/gim,
	Nc = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,
	Cc = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,
	Dc = /u\s*r\s*l\s*\(.*/gi;

function Lc(e) {
	return e.replace(Mc, "&quot;")
}

function Rc(e) {
	return e.replace(xc, '"')
}

function qc(e) {
	return e.replace(Oc, (function(e, t) {
		return "x" === t[0] || "X" === t[0] ? String.fromCharCode(parseInt(t.substr(1), 16)) : String
			.fromCharCode(parseInt(t, 10))
	}))
}

function Pc(e) {
	return e.replace(jc, ":").replace(Ac, " ")
}

function $c(e) {
	for (var t = "", n = 0, r = e.length; n < r; n++) t += e.charCodeAt(n) < 32 ? " " : e.charAt(n);
	return bc.trim(t)
}

function zc(e) {
	return e = $c(e = Pc(e = qc(e = Rc(e))))
}

function Qc(e) {
	return e = Tc(e = Lc(e))
}
var Uc = /<!--[\s\S]*?-->/g;
var Fc = function(e, t, n, r) {
		if (n = zc(n), "href" === t || "src" === t) {
			if ("#" === (n = bc.trim(n))) return "#";
			if ("http://" !== n.substr(0, 7) && "https://" !== n.substr(0, 8) && "mailto:" !== n.substr(0, 7) &&
				"tel:" !== n.substr(0, 4) && "data:image/" !== n.substr(0, 11) && "ftp://" !== n.substr(0, 6) &&
				"./" !== n.substr(0, 2) && "../" !== n.substr(0, 3) && "#" !== n[0] && "/" !== n[0]) return ""
		} else if ("background" === t) {
			if (Nc.lastIndex = 0, Nc.test(n)) return ""
		} else if ("style" === t) {
			if (Cc.lastIndex = 0, Cc.test(n)) return "";
			if (Dc.lastIndex = 0, Dc.test(n) && (Nc.lastIndex = 0, Nc.test(n))) return "";
			!1 !== r && (n = (r = r || Ic).process(n))
		}
		return n = Qc(n)
	},
	Bc = function(e) {
		var t = e.split("");
		return (t = t.filter((function(e) {
			var t = e.charCodeAt(0);
			return 127 !== t && (!(t <= 31) || (10 === t || 13 === t))
		}))).join("")
	},
	Gc = {
		whiteList: {
			a: ["target", "href", "title"],
			abbr: ["title"],
			address: [],
			area: ["shape", "coords", "href", "alt"],
			article: [],
			aside: [],
			audio: ["autoplay", "controls", "loop", "preload", "src"],
			b: [],
			bdi: ["dir"],
			bdo: ["dir"],
			big: [],
			blockquote: ["cite"],
			br: [],
			caption: [],
			center: [],
			cite: [],
			code: [],
			col: ["align", "valign", "span", "width"],
			colgroup: ["align", "valign", "span", "width"],
			dd: [],
			del: ["datetime"],
			details: ["open"],
			div: [],
			dl: [],
			dt: [],
			em: [],
			font: ["color", "size", "face"],
			footer: [],
			h1: [],
			h2: [],
			h3: [],
			h4: [],
			h5: [],
			h6: [],
			header: [],
			hr: [],
			i: [],
			img: ["src", "alt", "title", "width", "height"],
			ins: ["datetime"],
			li: [],
			mark: [],
			nav: [],
			ol: [],
			p: [],
			pre: [],
			s: [],
			section: [],
			small: [],
			span: [],
			sub: [],
			sup: [],
			strong: [],
			table: ["width", "border", "align", "valign"],
			tbody: ["align", "valign"],
			td: ["width", "rowspan", "colspan", "align", "valign"],
			tfoot: ["align", "valign"],
			th: ["width", "rowspan", "colspan", "align", "valign"],
			thead: ["align", "valign"],
			tr: ["rowspan", "align", "valign"],
			tt: [],
			u: [],
			ul: [],
			video: ["autoplay", "controls", "loop", "preload", "src", "height", "width"]
		},
		getDefaultWhiteList: Sc,
		onTag: function(e, t, n) {},
		onIgnoreTag: function(e, t, n) {},
		onTagAttr: function(e, t, n) {},
		onIgnoreTagAttr: function(e, t, n) {},
		safeAttrValue: Fc,
		escapeHtml: Tc,
		escapeQuote: Lc,
		unescapeQuote: Rc,
		escapeHtmlEntities: qc,
		escapeDangerHtml5Entities: Pc,
		clearNonPrintableCharacter: $c,
		friendlyAttrValue: zc,
		escapeAttrValue: Qc,
		onIgnoreTagStripAll: function() {
			return ""
		},
		StripTagBody: function(e, t) {
			"function" != typeof t && (t = function() {});
			var n = !Array.isArray(e),
				r = [],
				o = !1;
			return {
				onIgnoreTag: function(i, a, s) {
					if (function(t) {
							return !!n || -1 !== bc.indexOf(e, t)
						}(i)) {
						if (s.isClosing) {
							var u = "[/removed]",
								c = s.position + 10;
							return r.push([!1 !== o ? o : s.position, c]), o = !1, u
						}
						return o || (o = s.position), "[removed]"
					}
					return t(i, a, s)
				},
				remove: function(e) {
					var t = "",
						n = 0;
					return bc.forEach(r, (function(r) {
						t += e.slice(n, r[0]), n = r[1]
					})), t += e.slice(n)
				}
			}
		},
		stripCommentTag: function(e) {
			return e.replace(Uc, "")
		},
		stripBlankChar: Bc,
		cssFilter: Ic,
		getDefaultCSSWhiteList: wc
	};

function Hc(e) {
	var t = bc.spaceIndex(e);
	if (-1 === t) var n = e.slice(1, -1);
	else n = e.slice(1, t + 1);
	return "/" === (n = bc.trim(n).toLowerCase()).slice(0, 1) && (n = n.slice(1)), "/" === n.slice(-1) && (n = n.slice(
		0, -1)), n
}

function Wc(e) {
	return "</" === e.slice(0, 2)
}
var Vc = /[^a-zA-Z0-9_:\.\-]/gim;

function Yc(e, t) {
	for (; t < e.length; t++) {
		var n = e[t];
		if (" " !== n) return "=" === n ? t : -1
	}
}

function Kc(e, t) {
	for (; t > 0; t--) {
		var n = e[t];
		if (" " !== n) return "=" === n ? t : -1
	}
}

function Jc(e) {
	return function(e) {
		return '"' === e[0] && '"' === e[e.length - 1] || "'" === e[0] && "'" === e[e.length - 1]
	}(e) ? e.substr(1, e.length - 2) : e
}
var Xc = function(e, t, n) {
		var r = "",
			o = 0,
			i = !1,
			a = !1,
			s = 0,
			u = e.length,
			c = "",
			f = "";
		e: for (s = 0; s < u; s++) {
			var l = e.charAt(s);
			if (!1 === i) {
				if ("<" === l) {
					i = s;
					continue
				}
			} else if (!1 === a) {
				if ("<" === l) {
					r += n(e.slice(o, s)), i = s, o = s;
					continue
				}
				if (">" === l) {
					r += n(e.slice(o, i)), c = Hc(f = e.slice(i, s + 1)), r += t(i, r.length, c, f, Wc(f)), o = s +
						1, i = !1;
					continue
				}
				if ('"' === l || "'" === l)
					for (var d = 1, p = e.charAt(s - d);
						" " === p || "=" === p;) {
						if ("=" === p) {
							a = l;
							continue e
						}
						p = e.charAt(s - ++d)
					}
			} else if (l === a) {
				a = !1;
				continue
			}
		}
		return o < e.length && (r += n(e.substr(o))), r
	},
	Zc = function(e, t) {
		var n = 0,
			r = [],
			o = !1,
			i = e.length;

		function a(e, n) {
			if (!((e = (e = bc.trim(e)).replace(Vc, "").toLowerCase()).length < 1)) {
				var o = t(e, n || "");
				o && r.push(o)
			}
		}
		for (var s = 0; s < i; s++) {
			var u, c = e.charAt(s);
			if (!1 !== o || "=" !== c)
				if (!1 === o || s !== n || '"' !== c && "'" !== c || "=" !== e.charAt(s - 1))
					if (/\s|\n|\t/.test(c)) {
						if (e = e.replace(/\s|\n|\t/g, " "), !1 === o) {
							if (-1 === (u = Yc(e, s))) {
								a(bc.trim(e.slice(n, s))), o = !1, n = s + 1;
								continue
							}
							s = u - 1;
							continue
						}
						if (-1 === (u = Kc(e, s - 1))) {
							a(o, Jc(bc.trim(e.slice(n, s)))), o = !1, n = s + 1;
							continue
						}
					} else;
			else {
				if (-1 === (u = e.indexOf(c, s + 1))) break;
				a(o, bc.trim(e.slice(n + 1, u))), o = !1, n = (s = u) + 1
			} else o = e.slice(n, s), n = s + 1
		}
		return n < e.length && (!1 === o ? a(e.slice(n)) : a(o, Jc(bc.trim(e.slice(n))))), bc.trim(r.join(" "))
	},
	ef = {
		parseTag: Xc,
		parseAttr: Zc
	},
	tf = yc.FilterCSS,
	nf = ef.parseTag,
	rf = ef.parseAttr;

function of(e) {
	return null == e
}

function af(e) {
	e = function(e) {
			var t = {};
			for (var n in e) t[n] = e[n];
			return t
		}(e || {}), e.stripIgnoreTag && (e.onIgnoreTag && console.error(
				'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'), e
			.onIgnoreTag = Gc.onIgnoreTagStripAll), e.whiteList = e.whiteList || Gc.whiteList, e.onTag = e.onTag || Gc
		.onTag, e.onTagAttr = e.onTagAttr || Gc.onTagAttr, e.onIgnoreTag = e.onIgnoreTag || Gc.onIgnoreTag, e
		.onIgnoreTagAttr = e.onIgnoreTagAttr || Gc.onIgnoreTagAttr, e.safeAttrValue = e.safeAttrValue || Gc
		.safeAttrValue, e.escapeHtml = e.escapeHtml || Gc.escapeHtml, this.options = e, !1 === e.css ? this
		.cssFilter = !1 : (e.css = e.css || {}, this.cssFilter = new tf(e.css))
}
af.prototype.process = function(e) {
	if (!(e = (e = e || "").toString())) return "";
	var t = this.options,
		n = t.whiteList,
		r = t.onTag,
		o = t.onIgnoreTag,
		i = t.onTagAttr,
		a = t.onIgnoreTagAttr,
		s = t.safeAttrValue,
		u = t.escapeHtml,
		c = this.cssFilter;
	t.stripBlankChar && (e = Gc.stripBlankChar(e)), t.allowCommentTag || (e = Gc.stripCommentTag(e));
	var f = !1;
	if (t.stripIgnoreTagBody) {
		f = Gc.StripTagBody(t.stripIgnoreTagBody, o);
		o = f.onIgnoreTag
	}
	var l = nf(e, (function(e, t, f, l, d) {
		var p, h = {
			sourcePosition: e,
			position: t,
			isClosing: d,
			isWhite: n.hasOwnProperty(f)
		};
		if (!of(p = r(f, l, h))) return p;
		if (h.isWhite) {
			if (h.isClosing) return "</" + f + ">";
			var g = function(e) {
					var t = bc.spaceIndex(e);
					if (-1 === t) return {
						html: "",
						closing: "/" === e[e.length - 2]
					};
					var n = "/" === (e = bc.trim(e.slice(t + 1, -1)))[e.length - 1];
					return n && (e = bc.trim(e.slice(0, -1))), {
						html: e,
						closing: n
					}
				}(l),
				m = n[f],
				v = rf(g.html, (function(e, t) {
					var n, r = -1 !== bc.indexOf(m, e);
					return of(n = i(f, e, t, r)) ? r ? (t = s(f, e, t, c)) ? e + '="' + t +
						'"' : e : of(n = a(f, e, t, r)) ? void 0 : n : n
				}));
			l = "<" + f;
			return v && (l += " " + v), g.closing && (l += " /"), l += ">"
		}
		return of(p = o(f, l, h)) ? u(l) : p
	}), u);
	return f && (l = f.remove(l)), l
};
var sf = af,
	uf = n((function(e, t) {
		function n(e, t) {
			return new sf(t).process(e)
		}
		for (var r in (t = e.exports = n).filterXSS = n, t.FilterXSS = sf, Gc) t[r] = Gc[r];
		for (var r in ef) t[r] = ef[r];
		"undefined" != typeof window && (window.filterXSS = e.exports), "undefined" != typeof self &&
			"undefined" != typeof DedicatedWorkerGlobalScope && self instanceof DedicatedWorkerGlobalScope && (
				self.filterXSS = e.exports)
	})),
	cf = (uf.filterXSS, uf.FilterXSS),
	ff = new cf({
		whiteList: {
			a: ["href", "title", "target", "class"]
		}
	}),
	lf = new cf,
	df = function() {
		function e(e) {
			this.zone = "", this.name = e, this.$redux = Ys, this.Listener = {
				__proto: r,
				subscribe: function(e, t) {
					r.unsubscribe(e), r.subscribe(e, t)
				}
			}
		}
		return e.prototype.setEnv = function(e) {
			this.initUserEnv(e)
		}, e.prototype.getBaseUrl = function() {
			return Ys.getState().global.api.$commonApiBaseUrl
		}, e.prototype.getInstance = function(e) {
			Ys.dispatch(function(e) {
				return {
					type: be,
					value: e
				}
			}(e.debug)), yr.registerText("zim-sdk  " + this.name + " now version is  2.0.7-alpha ")(), yr.log(
				"getInstance conf is ", e)(), this.setEnv(e), this.addEventListener(), Tu.init()
		}, e.prototype.getHistory = function(e) {
			this.Listener.subscribe(As, (function(e, t) {
				var n = Ys.getState().data.historyMessageList,
					o = Ys.getState().data.historyMessageParams;
				r.publish(uc, {
					List: n,
					ext: o,
					action: t ? l.apiMessageTop : l.apiMessage
				})
			})), Ys.dispatch(function(e) {
				return {
					type: xe,
					data: e
				}
			}(e))
		}, e.prototype.getGroupList = function(e) {
			this.Listener.subscribe(Ns, (function() {
				var e = Ys.getState().data.groupMessageList,
					t = Ys.getState().data.groupMessageParams;
				r.publish("onGetGroupList", {
					List: e,
					ext: t,
					action: top ? d.apiMoreList : d.apiTopList
				})
			})), Ys.dispatch(function(e) {
				return {
					type: Ne,
					data: e
				}
			}(e))
		}, e.prototype.addEventListener = function() {
			var e = this;
			this.Listener.subscribe(Is, (function(t, n) {
				return e._onconnect(t, n)
			})), this.Listener.subscribe(Ts, (function(t, n) {
				return e._onerror(t, n)
			})), this.Listener.subscribe(Es, (function(t, n) {
				return e._onclose(t, n)
			})), this.Listener.subscribe(ks, (function(t, n) {
				return e._onmessage(t, n)
			})), this.Listener.subscribe(Ms, (function(t, n) {
				return e._onsendfail(t, n)
			})), this.Listener.subscribe(xs, (function(t, n) {
				return e._onsendsuccess(t, n)
			})), this.Listener.subscribe(Os, (function() {
				return e._onreconnectoutmaxtimes()
			})), this.Listener.subscribe(js, (function(t, n) {
				return e._onLoginOut(n)
			})), this.Listener.subscribe(Cs, (function(t, n) {
				return e._user_speak_status(n)
			})), this.Listener.subscribe(Ds, (function(t, n) {
				return e._custom_business(n)
			})), wr(ir["zim-addEventListener"])
		}, e.prototype._onreconnectoutmaxtimes = function() {
			wr(ir["zim-onReconnectMaxTimes"]), r.publish("onReconnectMaxTimes")
		}, e.prototype.initUserEnv = function(e) {
			if (e.reqHttp = e.reqHttp || !1, !e.runtime) throw new Error("runtime必传");
			if (!e.uid) throw new Error("uid 必传");
			Ys.dispatch(function(e) {
				return {
					type: ge,
					value: e
				}
			}(e.runtime)), Ys.dispatch(function(e) {
				return {
					type: me,
					value: e
				}
			}(e.uid)), Ys.dispatch(function(e) {
				return {
					type: ve,
					value: e
				}
			}(e.token || "")), Ys.dispatch(function(e) {
				return {
					type: _e,
					value: e
				}
			}(e.db || !1)), this.zone = e.zone ? e.zone : "";
			var t = Rr(e.runtime.apigw, e.reqHttp, this);
			Ys.dispatch(function(e) {
				return {
					type: ye,
					value: e
				}
			}(t)), yr.log("initUserEnv is done")(), wr(ir["zim-setEnv"], {
				conf: e
			}, this)
		}, e.prototype._custom_business = function(e) {
			r.publish("onCustomBusiness", e)
		}, e.prototype._user_speak_status = function(e) {
			var t = JSON.parse(e);
			r.publish("onUserSpeakStatusChange", t)
		}, e.prototype._onsendsuccess = function(e, t) {
			var n = t.message;
			if (yr.log("_onsendsuccess", n)(), wr(ir["zim-_onsendsuccess"], {
					serverMsgId: n.serverMsgId,
					clientMsgId: n.clientMsgId,
					groupId: n.group.groupId,
					messageInfo: n.messageInfo,
					owner: {
						userId: n.owner.userId
					}
				}), Ys.getState().global.db) {
				Ys.dispatch(function(e) {
					var t = Ys.getState().data.historyMessageList.map((function(t) {
						return t.clientMsgId === e.clientMsgId && (t.sentStatus = c
							.SendSuccess), t
					}));
					return Ys.dispatch(gs({
						item: e,
						list: t
					})), {
						type: Me,
						data: {
							type: "messageSuccess",
							List: t
						}
					}
				}(n));
				var o = Ys.getState().data,
					i = o.historyMessageParams,
					a = o.historyMessageList;
				r.publish(uc, {
					List: a,
					ext: i,
					action: l.sendMessageSuccess
				})
			}
			r.publish("onSendSuccess", n)
		}, e.prototype._onsendfail = function(e, t) {
			var n = t.errorMessage,
				o = t.message;
			if (wr(ir["zim-_onsendfail"], {
					errorMessage: n,
					message: o
				}), Ys.getState().global.db) {
				Ys.dispatch(function(e) {
					var t = Ys.getState().data.historyMessageList.map((function(t) {
						return t.clientMsgId === e.clientMsgId && (t.sentStatus = c.SendFail), t
					}));
					return Ys.dispatch(gs({
						item: e,
						list: t
					})), {
						type: Me,
						data: {
							type: "messageFail",
							List: t
						}
					}
				}(o));
				var i = Ys.getState().data,
					a = i.historyMessageParams,
					s = i.historyMessageList;
				r.publish(uc, {
					List: s,
					ext: a,
					action: l.sendMessageFail
				})
			}
			r.publish("onSendFail", {
				errorMessage: n,
				message: o
			})
		}, e.prototype._onmessage = function(e, t) {
			if (wr(ir["zim-_onmessage"], {
					serverMsgId: t.serverMsgId,
					clientMsgId: t.clientMsgId,
					groupId: t.group.groupId,
					messageInfo: t.messageInfo,
					owner: {
						userId: t.owner.userId
					}
				}), Ys.getState().global.db) {
				Ys.dispatch(function(e) {
					var t = [];
					return Ys.dispatch(ms({
						message: e
					})), e.group.groupId == Ys.getState().data.groupId ? ((t = Ys.getState().data
						.historyMessageList) ? t.push(e) : t = [e], Ys.dispatch(ws(e)), {
						type: Me,
						data: {
							type: "receiveMessage",
							List: t
						}
					}) : (Ys.dispatch(ws(e)), {
						type: Me,
						data: {
							type: "DO_NOTHING"
						}
					})
				}(t));
				var n = Ys.getState().data,
					o = n.historyMessageParams,
					i = n.historyMessageList;
				Ys.getState().data.groupId == t.group.groupId && r.publish(uc, {
					List: i,
					ext: o,
					action: l.onMessage
				})
			}
			r.publish("onMessage", t)
		}, e.prototype._onerror = function(e, t) {
			wr(ir["zim-_onerror"], t), r.publish("onError")
		}, e.prototype._onconnect = function(e, t) {
			wr(ir["zim-_onconnect"], t), r.publish("onConnect", t)
		}, e.prototype._onclose = function(e, t) {
			wr(ir["zim-_onclose"], t), r.publish("onClose", t)
		}, e.prototype.sendMessage = function(e) {
			if (Ys.getState().global.db) {
				Ys.dispatch(function(e) {
					var t = Ys.getState().data.historyMessageList,
						n = !1;
					return Ys.dispatch(ws(e)), t.forEach((function(t) {
						t.clientMsgId === e.clientMsgId && (n = !0)
					})), n ? t = t.map((function(t) {
						return t.clientMsgId == e.clientMsgId ? (t.sentStatus = c.Sending, t) :
							t
					})) : t.push(Qe(Qe({}, e), {
						sentStatus: c.Sending
					})), {
						type: Me,
						data: {
							type: "sendMessage",
							List: t
						}
					}
				}(e));
				var t = Ys.getState().data,
					n = t.historyMessageParams,
					o = t.historyMessageList;
				r.publish(uc, {
					List: o,
					ext: n,
					action: l.insertMessage
				})
			}
			wr(ir["zim-_sendMessage"], {
				serverMsgId: e.serverMsgId,
				clientMsgId: e.clientMsgId,
				groupId: e.group.groupId,
				messageInfo: e.messageInfo,
				owner: {
					userId: e.owner.userId
				}
			}), r.publish(Zs, e)
		}, e.prototype._onLoginOut = function(e) {
			wr(ir["zim-_onLoginOut"], e), r.publish("onLoginout", e)
		}, e.prototype.destory = function() {
			wr(ir["zim-_destory"]), Tu._destory()
		}, e.prototype.onReadStatus = function(e) {
			var t = {
				eventType: o.ReadStatus,
				data: {
					groupList: e
				}
			};
			r.publish(ru, t)
		}, e
	}(),
	pf = new df(f.drugSaas),
	hf = {
		api_drugstoreQueryGroupInfo: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o;
				return Fe(this, (function(i) {
					return t = Ys.getState().global, n = t.api, r = n
						.$drugstoreQueryGroupInfo, o = Qe({}, e), [2, new Promise((function(
							e, t) {
							Tr.post(r, o).then((function(t) {
								if (!0 === t.data.ok) {
									var n = (t.data.result
										.groupUsers || []).map((
										function(e) {
											return e
												.userName =
												e
												.showUserName,
												e.userId = e
												.showUserId,
												e.avatar = e
												.showAvatar,
												e
										}));
									t.data.result.groupUsers = n
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreQueryMessages: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o, i;
				return Fe(this, (function(a) {
					return t = Ys.getState().global, n = t.api, r = t.uid, o = n
						.$drugstoreQueryMessages, i = Qe({
							receiverUId: r
						}, e), [2, new Promise((function(e, t) {
							Tr.post(o, i).then((function(t) {
								var n;
								if (!0 === (null === (n = null ==
											t ? void 0 : t.data) ||
										void 0 === n ? void 0 : n.ok
										)) {
									var r = (t.data.result.data ||
									[]).map((function(e) {
										return $r(e)
									})).sort((function(e, t) {
										return e
											.createDate -
											t
											.createDate ||
											e
											.serverMsgId -
											t
											.serverMsgId
									}));
									t.data.result.data = r
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreUploadFile: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o;
				return Fe(this, (function(i) {
					return t = Ys.getState().global, n = t.api, r = n.$drugstoreUploadFile,
						(o = new FormData).append("fileStream", e), o.append("uploadParam",
							JSON.stringify({
								scene: "im_file",
								appName: "zim"
							})), [2, new Promise((function(t, n) {
							Tr.post(r, o, {
								headers: {
									"Content-Type": "multipart/form-data"
								}
							}).then((function(n) {
								var r = {
									url: n.data.result.data.url,
									fileSize: e.size,
									type: e.type.split("/")
									.pop()
								};
								t(r)
							})).catch((function(e) {
								n(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreQueryGroupList: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o;
				return Fe(this, (function(i) {
					return t = Ys.getState().global, n = t.api, r = n
						.$drugstoreQueryGroupList, o = Qe({}, e), [2, Tr.post(r, o)]
				}))
			}))
		},
		api_commonApiFormUpload: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o;
				return Fe(this, (function(i) {
					return t = Ys.getState().global, n = t.api, r = n.$imageUpload, (o =
						new FormData).append("fileStream", e), o.append("uploadParam",
						JSON.stringify({
							scene: "im_file",
							appName: "zim"
						})), [2, new Promise((function(t, n) {
						Tr.post(r, o, {
							headers: {
								"Content-Type": "multipart/form-data"
							},
							timeout: 6e5
						}).then((function(n) {
							var r = {
								fileName: n.data.result.data
									.fileName,
								url: n.data.result.data.url,
								fileSize: e.size,
								type: e.type.split("/")
								.pop()
							};
							t(r)
						})).catch((function(e) {
							n(e)
						}))
					}))]
				}))
			}))
		},
		api_commonApiQueryGroupInfo: function(e) {
			return Ue(void 0, void 0, void 0, (function() {
				var t, n, r, o;
				return Fe(this, (function(i) {
					return t = Ys.getState().global, n = t.api, r = n
						.$commonApiQueryGroupInfo, o = Qe({}, e), [2, new Promise((function(
							e, t) {
							Tr.post(r, o).then((function(t) {
								if (!0 === t.data.ok) {
									var n = (t.data.result
										.groupUsers || []).map((
										function(e) {
											return e
												.userName =
												e
												.showUserName ||
												e.userName,
												e.userId = e
												.showUserId ||
												e.userId, e
												.avatar = e
												.showAvatar ||
												e.avatar, e
										}));
									t.data.result.groupUsers = n
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_commonApiQueryMessages: Qr,
		api_commonApiQueryGroupList: Ur
	},
	gf = {
		reconstructData: function(e) {
			var t = [],
				n = [];
			return e.map((function(e, r, o) {
				var i = function(e, t) {
						var n = t.List,
							r = t.index,
							o = e,
							i = "";
						if (0 == r) i = vr(e).isToday() ? vr(e).format("HH:mm") : vr(e).isYesterday() ?
							vr(e).format("昨天 HH:mm") : vr(e).format("YYYY年MM月DD日 HH:mm");
						else if (n[r - 1]) {
							var a = n[r - 1];
							e - (a.createDate ? a.createDate : a.createTime) > 12e5 && (i = vr(e)
								.isToday() ? vr(e).format("HH:mm") : vr(e).isYesterday() ? vr(e)
								.format("昨天 HH:mm") : vr(e).format("YYYY年MM月DD日 HH:mm"))
						}
						return {
							flag: o,
							timeTag: i
						}
					}(e.createDate ? e.createDate : e.createTime, {
						index: r,
						List: o
					}),
					a = i.timeTag,
					s = i.flag;
				return e.timeTag = t.includes(s) || n.includes(a) ? "" : a, e.timeTag && (t.push(s), n
					.push(a)), e
			}))
		},
		getNetWorkStatus: function() {
			return Ue(void 0, void 0, void 0, (function() {
				var e, t, n, r, o, i;
				return Fe(this, (function(a) {
					switch (a.label) {
						case 0:
							e = vr().valueOf(), a.label = 1;
						case 1:
							return a.trys.push([1, 3, , 4]), [4, zr(
								"https://static.qa.foryor-in.com/avatar/1902677_avatar_1571816222985.png"
								)];
						case 2:
							return t = a.sent(), n = t.headers, r = n["content-length"], o =
								vr().valueOf(), [2, Math.floor(r / ((o - e) / 1e3) / 1024) +
									"kb"
								];
						case 3:
							return i = a.sent(), console.log(i), [2, "0kb"];
						case 4:
							return [2]
					}
				}))
			}))
		},
		safeHTML: function(e, t) {
			void 0 === t && (t = "__blank");
			var n = function(e, t) {
				var n = new RegExp(
						"^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$",
						"i"),
					r = /\n/g,
					o = e.match(r);
				o && (null == o ? void 0 : o.length) <= 1 && (e = e.replace(r, ""));
				var i = e.match(n);
				if (i) {
					var a = i[0];
					return '<a class="chat_type_text_link" href=\'' + a + "' title=" + a + " target=" + t +
						">" + a + "</a>"
				}
				return e
			}(e, t);
			return ff.process(n)
		},
		safeInput: function(e) {
			return lf.process(e)
		}
	};
exports.default = pf, exports.emojis = ["??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??",
	"??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??",
	"??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "✊", "✌", "??", "??", "??", "??", "??",
	"??", "??", "❤", "??", "??", "☀", "??", "??", "⚡", "☁", "☔", "??", "??", "??", "??", "??", "??", "??", "☕",
	"??", "??", "??", "??", "??", "??", "??", "??", "⚽", "??", "??"
], exports.initGuideDiagnosis = function(e) {
	return new sc(e)
}, exports.tools = gf, exports.zim = df, exports.zimApi = hf;